feat: Implementación completa de funcionalidad EDITAR apps (CRUD Update)

Backend:
- Endpoint PUT /api/apps/:name para actualizar configuración completa
- Endpoint GET /api/apps/:name para obtener datos de una app específica
- update_app_handler(): detiene servicio, regenera .service, daemon-reload, actualiza JSON, reinicia
- Soft delete de versión anterior al actualizar (mantiene historial)
- Logs detallados en cada paso del proceso de actualización
- Recarga automática de variables desde .env al actualizar

Frontend:
- Nueva página /edit?app=NOMBRE para editar apps
- Formulario pre-poblado con datos actuales de la app
- Nombre de app readonly (no se puede cambiar para evitar inconsistencias)
- Botón Editar (morado) en panel principal junto a logs/eliminar
- PUT en lugar de POST, mensaje de éxito actualizado
- Redirección automática al panel después de 2 segundos

Casos de uso resueltos:
 Cambiar usuario (ej: GatewaySIGMA con usuario incorrecto)
 Actualizar puerto
 Modificar variables de entorno
 Cambiar política de reinicio
 Actualizar ruta del script
 Recargar .env sin eliminar la app

Completa el patrón CRUD: Create, Read, Update, Delete 
This commit is contained in:
2026-01-21 17:40:37 -05:00
parent d8b3214ede
commit d2b8d0222c
4 changed files with 756 additions and 1 deletions

View File

@@ -792,6 +792,11 @@
</button>
`
}
<button class="text-purple-400 hover:text-purple-300 transition-colors p-1.5 rounded hover:bg-purple-900/20"
onclick="window.location.href='/edit?app=${app.name}'"
title="Editar">
<span class="material-symbols-outlined text-[20px]">edit</span>
</button>
<button class="text-blue-400 hover:text-blue-300 transition-colors p-1.5 rounded hover:bg-blue-900/20"
onclick="window.location.href='/logs'"
title="Ver logs">