package turso import ( "github.com/jmoiron/sqlx" "trankilou.fr/lassistanoque/backend/internal/adapter/database/dberrors" "trankilou.fr/lassistanoque/backend/internal/domain" "trankilou.fr/lassistanoque/backend/internal/utility" ) type TursoSettingsRepository struct { DB *sqlx.DB } func (sr *TursoSettingsRepository) GetSettings() (*domain.Settings, error) { var settings domain.Settings err := sr.DB.Get(&settings, "select * from settings limit 1") return &settings, err } func (sr *TursoSettingsRepository) UpdateSettings(setting *domain.Settings) (*domain.Settings, error) { newVersion := utility.GenID() res, err := sr.DB.Exec( `update settings set chat_model_id=$1, default_lang=$2, register_enabled=$3, password_enabled=$4, _version=:$5 where _version=$6`, setting.ChatModelID, setting.DefaultLang, setting.RegisterEnabled, setting.PasswordEnabled, newVersion, setting.VersionId, ) if err != nil { return nil, err } if count, _ := res.RowsAffected(); count == 0 { return nil, dberrors.ErrNoRowUpdated } setting.VersionId = newVersion return setting, nil }