package config import ( "fmt" "strconv" ) type DatabaseConfig struct { Host string Port int Name string User string Password string } func loadDatabase() (DatabaseConfig, error) { port, err := strconv.Atoi(getEnv("DATABASE_PORT", "3306")) if err != nil { return DatabaseConfig{}, fmt.Errorf("invalid DATABASE_PORT: %w", err) } return DatabaseConfig{ Host: getEnv("DATABASE_HOST", ""), Port: port, Name: getEnv("DATABASE_NAME", "audio"), User: getEnv("DATABASE_USER", "root"), Password: getEnv("DATABASE_PASSWORD", ""), }, nil } func (d DatabaseConfig) validate() error { if d.Host == "" { return fmt.Errorf("database host is required") } if d.Name == "" { return fmt.Errorf("database name is required") } if d.User == "" { return fmt.Errorf("database user is required") } return nil }