gogame-old/cmd/server.go
cmd/server.goRaw
1package cmd
2
3import (
4 "github.com/arnaucube/gogame/config"
5 "github.com/arnaucube/gogame/database"
6 "github.com/arnaucube/gogame/endpoint"
7 "github.com/arnaucube/gogame/services/gamesrv"
8 "github.com/arnaucube/gogame/services/usersrv"
9 "github.com/urfave/cli"
10)
11
12var ServerCommands = []cli.Command{
13 {
14 Name: "start",
15 Aliases: []string{},
16 Usage: "start the server",
17 Action: start,
18 },
19}
20
21func start(c *cli.Context) error {
22 if err := config.MustRead(c); err != nil {
23 return err
24 }
25
26 db, err := database.New(config.C.Mongodb.Url, config.C.Mongodb.Database)
27 if err != nil {
28 return err
29 }
30
31 // services
32 gameservice := gamesrv.New(db)
33 userservice := usersrv.New(db, gameservice)
34 if err != nil {
35 return err
36 }
37
38 apiService := endpoint.Serve(config.C, db, userservice)
39 apiService.Run(config.C.Server.ServiceApi)
40
41 return nil
42}