vibeStonk/server/repository/defDB.go
2025-06-12 16:57:42 -04:00

40 lines
941 B
Go

package repository
import (
"database/sql"
"errors"
"fmt"
models "vibeStonk/server/models/v1"
)
var (
ErrNoDBName = errors.New("no name for system DB")
)
func GetSystemConnector(config *Config) (*sql.DB, error) {
switch config.DBEngine {
case Sqlite:
return getSqliteConnection(config.DataRoot, config.SystemDBName)
default:
return nil, fmt.Errorf("unsupported database engine: %v", config.DBEngine)
}
}
func GetStockConnector(config *Config) (*sql.DB, error) {
switch config.DBEngine {
case Sqlite:
return getSqliteConnection(config.DataRoot, config.StockDBName)
default:
return nil, fmt.Errorf("unsupported database engine: %v", config.DBEngine)
}
}
func GetUserConnector(config *Config, user *models.User) (*sql.DB, error) {
switch config.DBEngine {
case Sqlite:
return getSqliteConnection(config.DataRoot, user.Id)
default:
return nil, fmt.Errorf("unsupported database engine: %v", config.DBEngine)
}
}