package sql import ( "context" "database/sql" sqlc "git.siteworxpro.com/gun-manager/sql/db" _ "github.com/mattn/go-sqlite3" ) type Db struct { db *sql.DB created bool Queries *sqlc.Queries } var dbConnection Db func NewDb(file string) (*Db, error) { if dbConnection.created { return &dbConnection, nil } db, err := sql.Open("sqlite3", file) if err != nil { return nil, err } dbConnection.db = db dbConnection.created = true _, err = dbConnection.db.Conn(context.Background()) if err != nil { return nil, err } dbConnection.Queries = sqlc.New(db) return &dbConnection, nil } func GetDb() *Db { return &dbConnection }