60 lines
1004 B
Go
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
|
|
)
|