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

60 lines
1004 B
Go

package repository
import "errors"
var (
ErrNilConfig = errors.New("config was nil")
)
func GetSqliteTestConfig() *Config {
config := GetDefaultConfig()
config.DataRoot = "test-data/"
config.SystemDBName = "test"
config.StockDBName = "test_stock"
return config
}
func GetTestConfigs() []*Config {
engines := []DatabaseEngine{
Sqlite,
}
configs := make([]*Config, 0, len(engines))
for _, engine := range engines {
config := GetDefaultConfig()
config.DBEngine = engine
config.DataRoot = "test-data/"
configs = append(configs, config)
}
return configs
}
func GetDefaultConfig() *Config {
return &Config{
DBEngine: Sqlite,
DataRoot: "data/",
SystemDBName: "system",
StockDBName: "stocks",
ListenAddress: "0.0.0.0:8080",
}
}
type Config struct {
// database
DBEngine DatabaseEngine
DataRoot string
SystemDBName string
StockDBName string
// server
ListenAddress string
}
type DatabaseEngine int
const (
Sqlite DatabaseEngine = iota
)