Operaciones principales
Obtener datos del panel (consolidado) - /api/dashboard
-
Endpoint:
/api/dashboard -
Método: GET
-
Descripción: Recupera todos los datos del panel en una única respuesta consolidada, incluidos los resúmenes de los servidores, el resumen general y los datos de gráficos.
-
Respuesta:
{"serversSummary": [{"id": "server-id","name": "Server Name","lastBackupDate": "2024-03-20T10:00:00Z","lastBackupStatus": "Success","lastBackupDuration": "00:38:31","lastBackupListCount": 10,"lastBackupName": "Backup Name","lastBackupId": "backup-id","backupCount": 15,"totalWarnings": 5,"totalErrors": 0,"availableBackups": ["v1", "v2", "v3"],"isBackupOverdue": false,"notificationEvent": "all","expectedBackupDate": "2024-03-21T10:00:00Z","expectedBackupElapsed": "2 hours ago","lastOverdueCheck": "2024-03-20T12:00:00Z","lastNotificationSent": "N/A"}],"overallSummary": {"totalServers": 3,"totalBackups": 9,"totalUploadedSize": 2397229507,"totalStorageUsed": 43346796938,"totalBackupSize": 126089687807,"overdueBackupsCount": 2,"secondsSinceLastBackup": 7200},"chartData": [{"date": "20/03/2024","isoDate": "2024-03-20T10:00:00Z","uploadedSize": 1024000,"duration": 45,"fileCount": 1500,"fileSize": 2048000,"storageSize": 3072000,"backupVersions": 5}]} -
Respuestas de Error:
500: Error del servidor al obtener los datos del panel
-
Notas:
- Este punto final consolida el anterior
/api/servers-summary(que ha sido eliminado) - El campo
overallSummarycontiene los mismos datos que/api/summary(que se mantiene para aplicaciones externas) - El campo
chartDatacontiene los mismos datos que/api/chart-data/aggregated(que aún existe para acceso directo) - Proporciona un mejor rendimiento al reducir múltiples llamadas a la API en una sola solicitud
- Todos los datos se obtienen en paralelo para un rendimiento óptimo
- El campo
secondsSinceLastBackupmuestra el tiempo en segundos desde la última copia de seguridad en todos los servidores
- Este punto final consolida el anterior
Obtener todos los servidores - /api/servers
-
Endpoint:
/api/servers -
Método: GET
-
Descripción: Recupera una lista de todos los servidores con su información básica. De forma opcional, incluye información de copia de seguridad.
-
Autenticación: Requiere una sesión y un token CSRF válidos
-
Parámetros de consulta:
includeBackups(opcional): Establézcalo entruepara incluir información de copia de seguridad de cada servidor
-
Respuesta (sin parámetros):
[{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server"}] -
Respuesta (con
includeBackups=true):[{"id": "server-id","name": "Server Name","backupName": "Backup Name","server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server","hasPassword": true}] -
Respuestas de Error:
401: No autorizado - Sesión o token CSRF inválido500: Error del servidor al obtener servidores
-
Notas:
- Devuelve información del servidor incluyendo campos de alias y nota
- Cuando
includeBackups=true, devuelve combinaciones de servidor-copia de seguridad con URLs y estado de contraseña - Consolida el anterior
/api/servers-with-backups(que ha sido eliminado) - Se utiliza para selección, visualización y propósitos de configuración de servidores
- Incluye el campo
hasPasswordpara indicar si el servidor tiene contraseña almacenada
Obtener detalles del servidor - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Método: GET
-
Descripción: Recupera información sobre un servidor específico. Puede devolver información básica del servidor o información detallada, incluidas copias de seguridad y datos de gráficos.
-
Autenticación: Requiere sesión válida y token CSRF
-
Parámetros:
id: el identificador del servidor
-
Parámetros de Consulta:
includeBackups(opcional): Establecer atruepara incluir datos de copia de seguridadincludeChartData(opcional): Establecer atruepara incluir datos de gráfico
-
Respuesta (sin parámetros):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200"} -
Respuesta (con parámetros):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200","backups": [{ ... }],"chartData": [{ ... }]} -
Respuestas de Error:
401: No autorizado - Sesión o token CSRF inválido404: Servidor no encontrado500: Error del servidor al obtener detalles del servidor
-
Notas:
- Devuelve información básica del servidor cuando no se proporcionan parámetros de consulta
- Al establecer
includeBackupsoincludeChartDataatruedevuelve datos completos del servidor incluyendo copias de seguridad y chartData - Se utiliza para configuración de servidores y vistas detalladas
Actualizar servidor - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Método: PATCH
-
Descripción: Actualiza los detalles del servidor, incluidos el alias, la nota y la URL del servidor.
-
Autenticación: Requiere una sesión y un token CSRF válidos
-
Parámetros:
id: el identificador del servidor
-
Cuerpo de la solicitud:
{"server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Respuesta:
{"message": "Server updated successfully","serverId": "server-id","server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Respuestas de Error:
401: No autorizado - Sesión o token CSRF inválido404: Servidor no encontrado500: Error del servidor durante la actualización
-
Notas:
- Actualiza el alias del servidor, nota y URL del servidor
- Todos los campos son opcionales
- Se permiten cadenas vacías para todos los campos
Eliminar servidor - /api/servers/:id
-
Punto de conexión:
/api/servers/:id -
Método: DELETE
-
Descripción: Elimina un servidor y todas sus copias de seguridad asociadas.
-
Autenticación: Requiere una sesión válida y un token CSRF
-
Parámetros:
id: el identificador del servidor
-
Respuesta:
{"message": "Successfully deleted server and 15 backups","status": 200,"changes": {"backupChanges": 15,"serverChanges": 1}} -
Respuestas de Error:
401: No autorizado - Sesión o token CSRF inválido404: Servidor no encontrado500: Error del servidor durante la eliminación
-
Notas:
- Esta operación es irreversible
- Todos los datos de copia de seguridad asociados con el servidor serán eliminados permanentemente
- El registro del servidor en sí también será eliminado
- Devuelve la cantidad de copias de seguridad y servidores eliminados
Obtener datos del servidor con información de vencimiento - /api/detail/:serverId
-
Punto de conexión:
/api/detail/:serverId -
Método: GET
-
Descripción: Recupera información detallada del servidor, incluido el estado de copia de seguridad vencida.
-
Parámetros:
serverId: el identificador del servidor
-
Respuesta:
{"server": {"id": "server-id","name": "Server Name","backups": [...]},"overdueBackups": [{"serverName": "Server Name","backupName": "Backup Name","lastBackupDate": "2024-03-20T10:00:00Z","lastNotificationSent": "2024-03-20T12:00:00Z","notificationEvent": "all","expectedBackupDate": "2024-03-21T10:00:00Z","expectedBackupElapsed": "2 hours ago"}],"lastOverdueCheck": "2024-03-20T12:00:00Z"} -
Respuestas de Error:
404: Servidor no encontrado500: Error del servidor al obtener detalles del servidor
-
Notas:
- Devuelve datos del servidor con información de copia de seguridad vencida
- Incluye detalles y marcas de tiempo de copia de seguridad vencida
- Se utiliza para gestión y monitoreo de copias de seguridad vencidas
Obtener servidores duplicados - /api/servers/duplicates
-
Punto de conexión:
/api/servers/duplicates -
Método: GET
-
Descripción: Recupera una lista de servidores duplicados según el ID de la máquina. Los servidores duplicados son servidores que comparten el mismo ID de máquina pero se almacenan como registros independientes en la base de datos.
-
Autenticación: Requiere una sesión válida, un token CSRF y acceso de administrador
-
Respuesta:
[{"machineId": "machine-id-123","servers": [{"id": "server-id-1","name": "Server Name 1","alias": "Server Alias 1","server_url": "http://localhost:8200","backupCount": 5},{"id": "server-id-2","name": "Server Name 2","alias": "Server Alias 2","server_url": "http://localhost:8200","backupCount": 3}]}] -
Respuestas de Error:
401: No autorizado - Sesión o token CSRF inválido403: Se requiere acceso de administrador500: Error del servidor al obtener servidores duplicados
-
Notas:
- Solo los administradores pueden acceder a este punto final
- Devuelve grupos de servidores que comparten el mismo ID de máquina
- Cada grupo contiene todos los servidores con el mismo ID de máquina
- Se utiliza para identificar y fusionar registros de servidores duplicados
- Incluye detalles del servidor y conteos de copias de seguridad para cada duplicado
Combinar servidores - /api/servers/merge
-
Punto de conexión:
/api/servers/merge -
Método: POST
-
Descripción: Combina varios servidores en un servidor de destino. Todas las copias de seguridad de los servidores de origen se transfieren al servidor de destino y los servidores de origen se eliminan.
-
Autenticación: Requiere una sesión válida, token CSRF y acceso de administrador
-
Cuerpo de la solicitud:
{"oldServerIds": ["server-id-1", "server-id-2"],"targetServerId": "server-id-3"} -
Respuesta:
{"success": true,"message": "Successfully merged 2 server(s) into target server","backupIdsNormalized": 1} -
Respuestas de Error:
400: Cuerpo de solicitud no válido, campos obligatorios faltantes o el servidor de destino está en la lista de servidores para combinar401: No autorizado - Sesión o token CSRF no válido403: Se requiere acceso de administrador500: Error del servidor durante la operación de combinación
-
Notas:
- Solo los administradores pueden realizar operaciones de combinación
- El servidor de destino no debe estar en la lista de servidores para combinar
- Todas las copias de seguridad de los servidores de origen se transfieren al servidor de destino
- Los valores duplicados de
backup_idpara el mismobackup_nameen el servidor combinado se normalizan al ID de la fila de copia de seguridad más reciente - Los servidores de origen se eliminan después de una combinación exitosa
- Esta operación es irreversible
- Se utiliza para consolidar registros duplicados de servidores
- Valida que oldServerIds sea un array no vacío
- Valida que targetServerId esté proporcionado y sea una cadena