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()
|
models.SeedBalanceData()
|
||||||
migrations.SeedContabilidadMenu()
|
migrations.SeedContabilidadMenu()
|
||||||
migrations.SeedWebSms()
|
migrations.SeedWebSms()
|
||||||
|
migrations.SeedUrlMonitor()
|
||||||
// Iniciar cron de vencimientos
|
// Iniciar cron de vencimientos
|
||||||
services.IniciarCron()
|
services.IniciarCron()
|
||||||
defer services.DetenerCron()
|
defer services.DetenerCron()
|
||||||
|
|||||||
@@ -1004,3 +1004,37 @@ func SeedWebSms() {
|
|||||||
}
|
}
|
||||||
log.Println("[SEED] Seed de WebSMS completado.")
|
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