package repository import ( "database/sql" "log/slog" "sync" ) var ( dbConnOnce sync.Once dbConn *sql.DB repo *Queries ) func Connect(dsnURI string) { dbConnOnce.Do(func() { var err error dbConn, err = sql.Open("sqlite", dsnURI) if err != nil { slog.Error("Fatal error") } repo = New(dbConn) }) } func GetConnection() (*sql.DB, error) { if dbConn == nil { slog.Error("Database connection not initialized!") } return dbConn, nil } func GetRepository() (*Queries, error) { if repo == nil { slog.Error("Database connection not initialized!") } return repo, nil }