...
1 package setup
2
3 import (
4 "fmt"
5
6 "github.com/go-logr/logr"
7
8 "edge-infra.dev/pkg/sds/emergencyaccess/config"
9 rulesengine "edge-infra.dev/pkg/sds/emergencyaccess/rules"
10 "edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/database"
11 "edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/file"
12 )
13
14 func CreateDataset(log logr.Logger, conf RulesConfig) (rulesengine.Dataset, []func() error, error) {
15 if conf.JSONDataDir != "" {
16 log.Info("Using file-based data storage")
17 ds, err := file.New(log, conf.JSONDataDir)
18 return ds, nil, err
19 }
20
21 log.Info("Using db-based data storage")
22 pqdb, check, err := config.DB(conf.SQL)
23 if err != nil {
24 return nil, nil, fmt.Errorf("error connecting to database: %w", err)
25 }
26 return database.New(log, pqdb), []func() error{check}, nil
27 }
28
View as plain text