gogame-old/endpoint/serve.go
endpoint/serve.goRaw
1package endpoint
2
3import (
4 "github.com/arnaucube/gogame/config"
5 "github.com/arnaucube/gogame/database"
6 "github.com/arnaucube/gogame/services/gamesrv"
7 "github.com/arnaucube/gogame/services/usersrv"
8 "github.com/gin-contrib/cors"
9 "github.com/gin-gonic/gin"
10)
11
12var serverConfig config.Config
13var db *database.Db
14var userservice *usersrv.Service
15var gameservice *gamesrv.Service
16
17func newApiService() *gin.Engine {
18 api := gin.Default()
19 api.Use(cors.Default())
20 api.GET("/", handleMain)
21 api.GET("/info", handleInfo)
22 api.POST("/register", handleRegister)
23 api.POST("/login", handleLogin)
24
25 // TODO add jwt checker
26 api.GET("/resources/:userid", handleGetResources)
27 api.GET("/planets/:userid", handleGetUserPlanets)
28 api.POST("/buildings/:userid", handlePostUpgradeBuilding)
29 return api
30}
31
32func Serve(cnfg config.Config, _db *database.Db, _userservice *usersrv.Service, _gameservice *gamesrv.Service) *gin.Engine {
33 serverConfig = cnfg
34 db = _db
35 userservice = _userservice
36 gameservice = _gameservice
37 return newApiService()
38}