Add PostgreSQL, user/squad management, remove private domains from docs
This commit is contained in:
@@ -18,7 +18,11 @@ type Config struct {
|
||||
RemnawavePanelURL string
|
||||
RemnawaveAPIToken string
|
||||
CaddyAuthAPIToken string
|
||||
RemnawaveSubscription string
|
||||
RemnawaveSubscription string
|
||||
DatabaseURL string
|
||||
DefaultUserDays int
|
||||
DefaultExternalSquadUUID string
|
||||
DefaultInternalSquadUUIDs []string
|
||||
}
|
||||
|
||||
func Load() (*Config, error) {
|
||||
@@ -60,14 +64,40 @@ func Load() (*Config, error) {
|
||||
return nil, fmt.Errorf("REMNAWAVE_SUBSCRIPTION_URL должен начинаться с http:// или https://")
|
||||
}
|
||||
|
||||
dbURL := strings.TrimSpace(os.Getenv("DATABASE_URL"))
|
||||
if dbURL == "" {
|
||||
return nil, fmt.Errorf("DATABASE_URL не задан")
|
||||
}
|
||||
|
||||
days := 30
|
||||
if v := strings.TrimSpace(os.Getenv("DEFAULT_USER_DAYS")); v != "" {
|
||||
if d, err := strconv.Atoi(v); err == nil && d > 0 {
|
||||
days = d
|
||||
}
|
||||
}
|
||||
|
||||
var internalSquads []string
|
||||
if v := strings.TrimSpace(os.Getenv("DEFAULT_INTERNAL_SQUAD_UUIDS")); v != "" {
|
||||
for _, part := range strings.Split(v, ",") {
|
||||
part = strings.TrimSpace(part)
|
||||
if part != "" {
|
||||
internalSquads = append(internalSquads, part)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return &Config{
|
||||
BotToken: token,
|
||||
BotDebug: strings.EqualFold(strings.TrimSpace(os.Getenv("BOT_DEBUG")), "true"),
|
||||
TelegramAdminID: adminID,
|
||||
RemnawaveName: name,
|
||||
RemnawavePanelURL: panelURL,
|
||||
RemnawaveAPIToken: apiToken,
|
||||
CaddyAuthAPIToken: caddy,
|
||||
RemnawaveSubscription: subURL,
|
||||
BotToken: token,
|
||||
BotDebug: strings.EqualFold(strings.TrimSpace(os.Getenv("BOT_DEBUG")), "true"),
|
||||
TelegramAdminID: adminID,
|
||||
RemnawaveName: name,
|
||||
RemnawavePanelURL: panelURL,
|
||||
RemnawaveAPIToken: apiToken,
|
||||
CaddyAuthAPIToken: caddy,
|
||||
RemnawaveSubscription: subURL,
|
||||
DatabaseURL: dbURL,
|
||||
DefaultUserDays: days,
|
||||
DefaultExternalSquadUUID: strings.TrimSpace(os.Getenv("DEFAULT_EXTERNAL_SQUAD_UUID")),
|
||||
DefaultInternalSquadUUIDs: internalSquads,
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user