42 lines
609 B
Go

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
}