arnaucube
arnaucube/gogame-oldPublic Self-hosted repository
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/usersrv"
 8	"github.com/urfave/cli"
 9)
10
11var ServerCommands = []cli.Command{
12	{
13		Name:    "start",
14		Aliases: []string{},
15		Usage:   "start the server",
16		Action:  start,
17	},
18}
19
20func start(c *cli.Context) error {
21	if err := config.MustRead(c); err != nil {
22		return err
23	}
24
25	db, err := database.New(config.C.Mongodb.Url, config.C.Mongodb.Database)
26	if err != nil {
27		return err
28	}
29
30	// services
31	userservice := usersrv.New(db)
32	if err != nil {
33		return err
34	}
35
36	apiService := endpoint.Serve(config.C, db, userservice)
37	apiService.Run(config.C.Server.ServiceApi)
38
39	return nil
40}