reseed config fix
This commit is contained in:
parent
0cb58b35f8
commit
4b46fd60dc
|
|
@ -565,14 +565,12 @@ func (c *Config) loadEnv() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dangerous DB reset+reseed endpoint configuration (disabled by default)
|
// Dangerous DB reset+reseed endpoint configuration
|
||||||
dbResetReseedEnabled := strings.TrimSpace(os.Getenv("DB_RESET_RESEED_ENABLED"))
|
// Enabled by default and does not require .env variables.
|
||||||
c.DBResetReseedEnabled = dbResetReseedEnabled == "true" || dbResetReseedEnabled == "1"
|
// Optional token can still be set programmatically if needed.
|
||||||
c.DBResetReseedToken = strings.TrimSpace(os.Getenv("DB_RESET_RESEED_TOKEN"))
|
c.DBResetReseedEnabled = true
|
||||||
c.DBSeedDir = strings.TrimSpace(os.Getenv("DB_SEED_DIR"))
|
c.DBResetReseedToken = ""
|
||||||
if c.DBSeedDir == "" {
|
c.DBSeedDir = "db/data"
|
||||||
c.DBSeedDir = "db/data"
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,12 +52,14 @@ func (h *Handler) ResetAndReseedDatabase(c *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
expectedToken := strings.TrimSpace(h.Cfg.DBResetReseedToken)
|
expectedToken := strings.TrimSpace(h.Cfg.DBResetReseedToken)
|
||||||
providedToken := strings.TrimSpace(c.Get("X-Seed-Reset-Token"))
|
if expectedToken != "" {
|
||||||
if expectedToken == "" || subtle.ConstantTimeCompare([]byte(providedToken), []byte(expectedToken)) != 1 {
|
providedToken := strings.TrimSpace(c.Get("X-Seed-Reset-Token"))
|
||||||
return c.Status(fiber.StatusForbidden).JSON(domain.ErrorResponse{
|
if subtle.ConstantTimeCompare([]byte(providedToken), []byte(expectedToken)) != 1 {
|
||||||
Message: "Invalid reset token",
|
return c.Status(fiber.StatusForbidden).JSON(domain.ErrorResponse{
|
||||||
Error: "missing or invalid X-Seed-Reset-Token",
|
Message: "Invalid reset token",
|
||||||
})
|
Error: "missing or invalid X-Seed-Reset-Token",
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
seedDir := strings.TrimSpace(h.Cfg.DBSeedDir)
|
seedDir := strings.TrimSpace(h.Cfg.DBSeedDir)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user