feat(url-monitor): registrar submódulo en menú bajo "Servidores"
- SeedUrlMonitor() agrega /app/url-monitor al módulo Servidores idempotentemente - Se llama en el arranque junto al resto de seeds Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
d0ba75c559
commit
1840b97256
@@ -120,6 +120,7 @@ func main() {
|
||||
models.SeedBalanceData()
|
||||
migrations.SeedContabilidadMenu()
|
||||
migrations.SeedWebSms()
|
||||
migrations.SeedUrlMonitor()
|
||||
// Iniciar cron de vencimientos
|
||||
services.IniciarCron()
|
||||
defer services.DetenerCron()
|
||||
|
||||
@@ -1004,3 +1004,37 @@ func SeedWebSms() {
|
||||
}
|
||||
log.Println("[SEED] Seed de WebSMS completado.")
|
||||
}
|
||||
|
||||
// SeedUrlMonitor agrega el submódulo "Monitor de URLs" al módulo "Servidores". Es idempotente.
|
||||
func SeedUrlMonitor() {
|
||||
db := app.Http.Database.DB
|
||||
var modulo models.Modules
|
||||
if err := db.Where("title = ?", "Servidores").First(&modulo).Error; err != nil {
|
||||
log.Println("[SEED] Módulo 'Servidores' no encontrado, se omite SeedUrlMonitor")
|
||||
return
|
||||
}
|
||||
url := "/app/url-monitor"
|
||||
var sub models.Submodules
|
||||
if err := db.Where("url = ?", url).First(&sub).Error; err != nil {
|
||||
sub = models.Submodules{
|
||||
Title: "Monitor de URLs",
|
||||
Description: "Monitoreo de disponibilidad y latencia de sitios y APIs",
|
||||
Url: url,
|
||||
ModuleId: modulo.ID,
|
||||
ModifiedAt: time.Now(),
|
||||
}
|
||||
if err := db.Create(&sub).Error; err != nil {
|
||||
log.Printf("[SEED] Error creando submódulo 'Monitor de URLs': %v", err)
|
||||
return
|
||||
}
|
||||
log.Printf("[SEED] Submódulo 'Monitor de URLs' creado")
|
||||
} else if sub.ModuleId != modulo.ID {
|
||||
db.Model(&sub).Update("module_id", modulo.ID)
|
||||
}
|
||||
var roles []models.Roles
|
||||
db.Find(&roles)
|
||||
for _, rol := range roles {
|
||||
db.Model(&rol).Association("Submodules").Append(&[]models.Submodules{sub})
|
||||
}
|
||||
log.Println("[SEED] Seed de Monitor de URLs completado.")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user