package setup import ( "fmt" "github.com/go-logr/logr" "edge-infra.dev/pkg/sds/emergencyaccess/authservice" "edge-infra.dev/pkg/sds/emergencyaccess/authservice/storage/database" "edge-infra.dev/pkg/sds/emergencyaccess/config" "edge-infra.dev/pkg/sds/emergencyaccess/retriever" ) func CreateAuthservice(log logr.Logger, conf Config) (*authservice.AuthService, []func() error, error) { pqdb, check, err := config.DB(conf.SQL) if err != nil { return nil, nil, fmt.Errorf("error connecting to database: %w", err) } dataset := database.New(log, pqdb) oiRetriever, err := retriever.New(pqdb) if err != nil { return nil, nil, fmt.Errorf("error creating retriever client: %w", err) } auth, err := authservice.New(conf.AuthService, dataset, oiRetriever) if err != nil { return nil, nil, fmt.Errorf("error creating authservice: %w", err) } return auth, []func() error{check}, nil }