...
1 package setup
2
3 import (
4 "fmt"
5
6 "github.com/go-logr/logr"
7
8 "edge-infra.dev/pkg/sds/emergencyaccess/authservice"
9 "edge-infra.dev/pkg/sds/emergencyaccess/authservice/storage/database"
10 "edge-infra.dev/pkg/sds/emergencyaccess/config"
11 "edge-infra.dev/pkg/sds/emergencyaccess/retriever"
12 )
13
14 func CreateAuthservice(log logr.Logger, conf Config) (*authservice.AuthService, []func() error, error) {
15 pqdb, check, err := config.DB(conf.SQL)
16 if err != nil {
17 return nil, nil, fmt.Errorf("error connecting to database: %w", err)
18 }
19
20 dataset := database.New(log, pqdb)
21
22 oiRetriever, err := retriever.New(pqdb)
23 if err != nil {
24 return nil, nil, fmt.Errorf("error creating retriever client: %w", err)
25 }
26
27 auth, err := authservice.New(conf.AuthService, dataset, oiRetriever)
28 if err != nil {
29 return nil, nil, fmt.Errorf("error creating authservice: %w", err)
30 }
31 return auth, []func() error{check}, nil
32 }
33
View as plain text