Files
TermorServer/internal/config/config.go
benya 35abd27473 feat: add sqlite-backed auth and library services
Bootstrap SQLite on server startup with embedded migrations and development seed data. Replace placeholder auth and library responses with database-backed services, bearer sessions, and repository-driven API handlers.
2026-04-02 22:22:38 +03:00

40 lines
934 B
Go

package config
import "os"
type Config struct {
AppEnv string
ServerHost string
ServerPort string
DatabasePath string
MediaRoot string
CORSOrigins string
DefaultAdminUsername string
DefaultAdminPassword string
}
func Load() Config {
return Config{
AppEnv: getenv("APP_ENV", "development"),
ServerHost: getenv("SERVER_HOST", "0.0.0.0"),
ServerPort: getenv("SERVER_PORT", "4040"),
DatabasePath: getenv("DATABASE_PATH", "./data/app.db"),
MediaRoot: getenv("MEDIA_ROOT", "./media"),
CORSOrigins: getenv("CORS_ORIGINS", "http://localhost:5173"),
DefaultAdminUsername: getenv("DEFAULT_ADMIN_USERNAME", "demo"),
DefaultAdminPassword: getenv("DEFAULT_ADMIN_PASSWORD", "demo"),
}
}
func (c Config) Address() string {
return c.ServerHost + ":" + c.ServerPort
}
func getenv(key, fallback string) string {
value := os.Getenv(key)
if value == "" {
return fallback
}
return value
}