MCPcopy Create free account
hub / github.com/chainloop-dev/chainloop / NewData

Function NewData

app/controlplane/pkg/data/data.go:82–102  ·  view source on GitHub ↗

NewData .

(c *config.DatabaseConfig, tp trace.TracerProvider, logger log.Logger)

Source from the content-addressed store, hash-verified

80
81// NewData .
82func NewData(c *config.DatabaseConfig, tp trace.TracerProvider, logger log.Logger) (*Data, func(), error) {
83 if logger == nil {
84 logger = log.NewStdLogger(io.Discard)
85 }
86
87 log := log.NewHelper(logger)
88 db, sqlDB, err := initSQLDatabase(c, tp, log)
89 if err != nil {
90 log.Errorf("error initialing the DB : %v", err)
91 return nil, nil, fmt.Errorf("failed to initialized db: %w", err)
92 }
93
94 cleanup := func() {
95 log.Info("closing the data resources")
96 if err := db.Close(); err != nil {
97 log.Error(err)
98 }
99 }
100
101 return &Data{DB: db, SQLDB: sqlDB}, cleanup, nil
102}
103
104func initSQLDatabase(c *config.DatabaseConfig, tp trace.TracerProvider, log *log.Helper) (*ent.Client, *sql.DB, error) {
105 if c.Driver != "pgx" {

Callers 2

WireTestDataFunction · 0.92
wireAppFunction · 0.92

Calls 4

initSQLDatabaseFunction · 0.85
InfoMethod · 0.65
ErrorMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected