-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.go
53 lines (44 loc) · 1.41 KB
/
init.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
53
package src
import (
"context"
"fmt"
"github.com/lugondev/wallet-signer-manager/src/auth"
rolesapi "github.com/lugondev/wallet-signer-manager/src/auth/api/manifest"
"github.com/lugondev/wallet-signer-manager/src/entities"
manifestreader "github.com/lugondev/wallet-signer-manager/src/infra/manifests/yaml"
"github.com/lugondev/wallet-signer-manager/src/stores"
storesapi "github.com/lugondev/wallet-signer-manager/src/stores/api/manifest"
"github.com/lugondev/wallet-signer-manager/src/vaults"
vaultsapi "github.com/lugondev/wallet-signer-manager/src/vaults/api/manifest"
)
func initialize(
ctx context.Context,
cfg *manifestreader.Config,
rolesService auth.Roles,
vaultsService vaults.Vaults,
storesService stores.Stores,
) error {
manifestReader, err := manifestreader.New(cfg)
if err != nil {
return err
}
manifests, err := manifestReader.Load(ctx)
if err != nil {
return err
}
fmt.Println("manifests: ", manifests)
// Note that order is important here as stores depend on the existing vaults, do not use a switch!
err = rolesapi.NewRolesHandler(rolesService).Register(ctx, manifests[entities.RoleKind])
if err != nil {
return err
}
err = vaultsapi.NewVaultsHandler(vaultsService).Register(ctx, manifests[entities.VaultKind])
if err != nil {
return err
}
err = storesapi.NewStoresHandler(storesService).Register(ctx, manifests[entities.StoreKind])
if err != nil {
return err
}
return nil
}