renommage lassistanoque

This commit is contained in:
2026-08-07 00:03:15 +02:00
commit 5810c4c94f
73 changed files with 2601 additions and 0 deletions
@@ -0,0 +1,69 @@
package turso
import (
"embed"
"fmt"
"github.com/golang-migrate/migrate/v4"
"github.com/golang-migrate/migrate/v4/database/sqlite3"
"github.com/golang-migrate/migrate/v4/source/iofs"
"github.com/jmoiron/sqlx"
_ "github.com/mattn/go-sqlite3"
"trankilou.fr/lassistanoque/backend/internal/config"
"trankilou.fr/lassistanoque/backend/internal/domain"
_ "turso.tech/database/tursogo"
)
//go:embed migrations/*
var FS embed.FS
type TursoDB struct {
DB *sqlx.DB
}
func NewTursoDB(cfg *config.Config) (*TursoDB, error) {
db, err := sqlx.Connect("turso", cfg.DatabaseURL)
if err != nil {
return nil, fmt.Errorf("error connecting to db %: %s", cfg.DatabaseURL, err)
}
return &TursoDB{
DB: db,
}, nil
}
func (db *TursoDB) UserReporitory() domain.UserRepository {
return &TursoUserRepository{
DB: db.DB,
}
}
func (db *TursoDB) SettingsReporitory() domain.SettingsRepository {
return &TursoSettingsRepository{
DB: db.DB,
}
}
func (db *TursoDB) Close() {
db.DB.Close()
}
func (db *TursoDB) Migrate() error {
sqldb := db.DB.DB
dbDriver, err := sqlite3.WithInstance(sqldb, &sqlite3.Config{})
if err != nil {
return err
}
sourceInstance, err := iofs.New(FS, "migrations")
if err != nil {
return err
}
m, err := migrate.NewWithInstance("iofs", sourceInstance, "sqlite3", dbDriver)
if err != nil {
return err
}
m.Up()
return nil
}