Files
lassistanoque/backend/internal/adapter/database/factory.go
T
2026-09-22 21:15:23 +02:00

31 lines
756 B
Go

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
FileRepository() domain.FileRepository
ProviderRepository() domain.ProviderRepository
AgentRepository() domain.AgentRepository
ChatRepository() domain.ChatRepository
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)
}