|
|
package cmd
import ( "github.com/arnaucube/gogame/config" "github.com/arnaucube/gogame/database" "github.com/arnaucube/gogame/endpoint" "github.com/arnaucube/gogame/services/gamesrv" "github.com/arnaucube/gogame/services/usersrv" "github.com/urfave/cli" )
var ServerCommands = []cli.Command{ { Name: "start", Aliases: []string{}, Usage: "start the server", Action: start, }, }
func start(c *cli.Context) error { if err := config.MustRead(c); err != nil { return err }
db, err := database.New(config.C.Mongodb.Url, config.C.Mongodb.Database) if err != nil { return err }
// services
gameservice := gamesrv.New(db) userservice := usersrv.New(db, gameservice) if err != nil { return err }
apiService := endpoint.Serve(config.C, db, userservice, gameservice) apiService.Run(config.C.Server.ServiceApi)
return nil }
|