package setup import ( "fmt" "github.com/go-logr/logr" "edge-infra.dev/pkg/sds/emergencyaccess/config" rulesengine "edge-infra.dev/pkg/sds/emergencyaccess/rules" "edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/database" "edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/file" ) func CreateDataset(log logr.Logger, conf RulesConfig) (rulesengine.Dataset, []func() error, error) { if conf.JSONDataDir != "" { log.Info("Using file-based data storage") ds, err := file.New(log, conf.JSONDataDir) return ds, nil, err } log.Info("Using db-based data storage") pqdb, check, err := config.DB(conf.SQL) if err != nil { return nil, nil, fmt.Errorf("error connecting to database: %w", err) } return database.New(log, pqdb), []func() error{check}, nil }