This commit is contained in:
Lizandro Guarnizo
2026-05-21 23:11:01 -05:00
parent 5a8b9320f5
commit d7bcddc0b3
2 changed files with 32 additions and 6 deletions
+21 -3
View File
@@ -165,7 +165,22 @@ func UpdateServidor(c *fiber.Ctx) error {
app.Http.Database.DB.First(&actual, uid)
nombreAnterior := actual.Nombre
if err := models.UpdateServidor(m); err != nil {
// Usar map para Updates y así no perder campos con valor cero (incluido hostinger_vps_id=nil)
updateMap := map[string]interface{}{
"nombre": m.Nombre,
"ip_servidor": m.IpServidor,
"so": m.So,
"vencimiento": m.Vencimiento,
"ram": m.Ram,
"nucleos": m.Nucleos,
"disco": m.Disco,
"ultimo_ping": m.UltimoPing,
"prov_servidor_id": m.ProvServidorID,
"tipo_servidor_id": m.TipoServidorID,
"hostinger_vps_id": m.HostingerVpsID,
"hostinger_subscription_id": m.HostingerSubscriptionID,
}
if err := app.Http.Database.DB.Model(&models.Servidor{}).Where("id = ?", uid).Updates(updateMap).Error; err != nil {
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"message": "Error al actualizar el servidor",
"error": err.Error(),
@@ -206,6 +221,9 @@ func SyncServidorFromHostinger(c *fiber.Ctx) error {
if err != nil {
return c.Status(fiber.StatusUnprocessableEntity).JSON(fiber.Map{"error": err.Error()})
}
if vps.ID == 0 {
return c.Status(fiber.StatusUnprocessableEntity).JSON(fiber.Map{"error": "Hostinger no devolvio datos para ese VPS ID"})
}
updates := map[string]interface{}{
"hostinger_state": vps.State,
@@ -275,11 +293,11 @@ func SyncServidorFromHostinger(c *fiber.Ctx) error {
}
if err := db.Model(&servidor).Updates(updates).Error; err != nil {
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": "no se pudo guardar"})
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": "no se pudo guardar", "detalle": err.Error()})
}
db.First(&servidor, id)
return c.JSON(fiber.Map{"ok": true, "servidor": servidor})
return c.JSON(fiber.Map{"ok": true, "servidor": servidor, "campos_actualizados": updates})
}
func DeleteServidor(c *fiber.Ctx) error {