You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

38 lines
1.0 KiB

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()
}