-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
52 lines (45 loc) · 1.67 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package main
import (
"flag"
"log"
"github.com/reversTeam/go-ms-tools/middlewares"
"github.com/reversTeam/go-ms-tools/services/account"
"github.com/reversTeam/go-ms-tools/services/email"
"github.com/reversTeam/go-ms-tools/services/people"
"github.com/reversTeam/go-ms-tools/services/signin"
"github.com/reversTeam/go-ms/core"
)
const (
GO_MS_CONFIG_FILEPATH = "./config/config.yml"
)
var (
configFilePath = flag.String("config", GO_MS_CONFIG_FILEPATH, "yaml config filepath")
)
var goMsServices = map[string]core.GoMsServiceFunc{
"people": core.RegisterServiceMap(func(ctx *core.Context, name string, config core.ServiceConfig) core.GoMsServiceInterface {
return people.NewService(ctx, name, config)
}),
"signin": core.RegisterServiceMap(func(ctx *core.Context, name string, config core.ServiceConfig) core.GoMsServiceInterface {
return signin.NewService(ctx, name, config)
}),
"account": core.RegisterServiceMap(func(ctx *core.Context, name string, config core.ServiceConfig) core.GoMsServiceInterface {
return account.NewService(ctx, name, config)
}),
"email": core.RegisterServiceMap(func(ctx *core.Context, name string, config core.ServiceConfig) core.GoMsServiceInterface {
return email.NewService(ctx, name, config)
}),
}
var goMsMiddleWare = map[string]core.Middleware{
"CheckParametersMiddleware": middlewares.NewCheckParametersMiddleware(),
"AuthMiddleware": &middlewares.AuthMiddleware{},
"UnAuthMiddleware": &middlewares.UnauthenticatedMiddleware{},
}
func main() {
flag.Parse()
config, err := core.NewConfig(*configFilePath)
if err != nil {
log.Panic(err)
}
app := core.NewApplication(config, goMsServices, goMsMiddleWare)
app.Start()
}