-
Notifications
You must be signed in to change notification settings - Fork 61
/
main.go
29 lines (23 loc) · 1.03 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
package main
import (
"context"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/config"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/modules/exchange"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/modules/get"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/modules/list"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/modules/register"
"github.com/PacktPublishing/Hands-On-Dependency-Injection-in-Go/ch09/acme/internal/rest"
)
func main() {
// bind stop channel to context
ctx := context.Background()
// build the exchanger
exchanger := exchange.NewConverter(config.App)
// build model layer
getModel := get.NewGetter(config.App)
listModel := list.NewLister(config.App)
registerModel := register.NewRegisterer(config.App, exchanger)
// start REST server
server := rest.New(config.App, getModel, listModel, registerModel)
server.Listen(ctx.Done())
}