package endpoint import ( "github.com/arnaucube/gogame/config" "github.com/arnaucube/gogame/database" "github.com/arnaucube/gogame/services/gamesrv" "github.com/arnaucube/gogame/services/usersrv" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) var serverConfig config.Config var db *database.Db var userservice *usersrv.Service var gameservice *gamesrv.Service func newApiService() *gin.Engine { api := gin.Default() api.Use(cors.Default()) api.GET("/", handleMain) api.GET("/info", handleInfo) api.POST("/register", handleRegister) api.POST("/login", handleLogin) // TODO add jwt checker api.GET("/resources/:userid", handleGetResources) api.GET("/planets/:userid", handleGetUserPlanets) api.POST("/buildings/:userid", handlePostUpgradeBuilding) return api } func Serve(cnfg config.Config, _db *database.Db, _userservice *usersrv.Service, _gameservice *gamesrv.Service) *gin.Engine { serverConfig = cnfg db = _db userservice = _userservice gameservice = _gameservice return newApiService() }