package database import ( "fmt" "trankilou.fr/lassistanoque/backend/internal/adapter/database/turso" "trankilou.fr/lassistanoque/backend/internal/config" "trankilou.fr/lassistanoque/backend/internal/domain" ) type Database interface { SettingsRepository() domain.SettingsRepository UserRepository() domain.UserRepository OIDCProviderRepository() domain.OIDCProviderRepository FileRepository() domain.FileRepository ProviderRepository() domain.ProviderRepository AgentRepository() domain.AgentRepository ChatRepository() domain.ChatRepository ToolRepository() domain.ToolRepository TaskRepository() domain.TaskRepository Migrate() error Close() } func GetDatabase() (Database, error) { cfg := config.GetConfig() switch cfg.DatabaseType { case "turso": return turso.NewTursoDB(cfg) default: } return nil, fmt.Errorf("Database %s not implemented", cfg.DatabaseType) }