Kernoperationen
Dashboard-Daten abrufen (konsolidiert) - /api/dashboard
-
Endpoint:
/api/dashboard -
Methode: GET
-
Beschreibung: Ruft alle Dashboard-Daten in einer einzigen konsolidierten Antwort ab, einschließlich Server-Zusammenfassungen, Gesamtzusammenfassung und Diagrammdaten.
-
Antwort:
{"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}]} -
Fehlerantworten:
500: Serverfehler beim Abrufen der Dashboard-Daten
-
Hinweise:
- Dieser Endpoint konsolidiert den vorherigen
/api/servers-summary-Endpoint (der entfernt wurde) - Das Feld
overallSummaryenthält dieselben Daten wie/api/summary(das für externe Anwendungen beibehalten wurde) - Das Feld
chartDataenthält dieselben Daten wie/api/chart-data/aggregated(das weiterhin für direkten Zugriff existiert) - Bietet bessere Leistung, da mehrere API-Aufrufe auf einen einzigen Request reduziert werden
- Alle Daten werden parallel abgerufen, um optimale Leistung zu erzielen
- Das Feld
secondsSinceLastBackupzeigt die Zeit in Sekunden seit der letzten Sicherung über alle Server hinweg an
- Dieser Endpoint konsolidiert den vorherigen
Alle Server abrufen - /api/servers
-
Endpoint:
/api/servers -
Methode: GET
-
Beschreibung: Ruft eine Liste aller Server mit ihren grundlegenden Informationen ab. Optional kann auch Backup-Informationen enthalten sein.
-
Authentifizierung: Erfordert gültige Sitzung und CSRF-Token
-
Abfrageparameter:
includeBackups(optional): Auftruesetzen, um Backup-Informationen für jeden Server einzuschließen
-
Antwort (ohne Parameter):
[{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server"}] -
Antwort (mit
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}] -
Fehlerantworten:
401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token500: Serverfehler beim Abrufen der Server
-
Hinweise:
- Gibt Serverinformationen einschließlich Alias- und Notizfelder zurück
- Wenn
includeBackups=true, gibt Kombinationen aus Server und Backup mit URLs und Passwortstatus zurück - Konsolidiert den vorherigen
/api/servers-with-backups-Endpoint (der entfernt wurde) - Wird für Serverauswahl, Anzeige und Konfigurationszwecke verwendet
- Enthält das Feld
hasPassword, um anzuzeigen, ob ein Server ein gespeichertes Passwort hat
Serverdetails abrufen - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Methode: GET
-
Beschreibung: Ruft Informationen über einen bestimmten Server ab. Kann grundlegende Serverinformationen oder detaillierte Informationen einschließlich Backups und Diagrammdaten zurückgeben.
-
Authentifizierung: Erfordert gültige Sitzung und CSRF-Token
-
Parameter:
id: die Serverkennung
-
Abfrageparameter:
includeBackups(optional): Auftruesetzen, um Backup-Daten einzuschließenincludeChartData(optional): Auftruesetzen, um Diagrammdaten einzuschließen
-
Antwort (ohne Parameter):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200"} -
Antwort (mit Parametern):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200","backups": [{ ... }],"chartData": [{ ... }]} -
Fehlerantworten:
401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token404: Server nicht gefunden500: Serverfehler beim Abrufen der Serverdetails
-
Hinweise:
- Gibt Basis-Serverinformationen zurück, wenn keine Abfrageparameter angegeben sind
- Wenn entweder
includeBackupsoderincludeChartDataauftruegesetzt ist, werden vollständige Serverdaten einschließlich Backups und chartData zurückgegeben - Wird für Servereinstellungen und Detailansichten verwendet
Server aktualisieren - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Methode: PATCH
-
Beschreibung: Aktualisiert Serverdetails, einschließlich Alias, Notiz und Server-URL.
-
Authentifizierung: Erfordert gültige Sitzung und CSRF-Token
-
Parameter:
id: die Serverkennung
-
Anfrage-Body:
{"server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Antwort:
{"message": "Server updated successfully","serverId": "server-id","server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Fehlerantworten:
401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token404: Server nicht gefunden500: Serverfehler während der Aktualisierung
-
Hinweise:
- Aktualisiert Server-Alias, Notiz und Server-URL
- Alle Felder sind optional
- Leere Zeichenketten sind für alle Felder erlaubt
Server löschen - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Methode: DELETE
-
Beschreibung: Löscht einen Server und alle zugehörigen Sicherungen.
-
Authentifizierung: Erfordert gültige Sitzung und CSRF-Token
-
Parameter:
id: die Server-ID
-
Antwort:
{"message": "Successfully deleted server and 15 backups","status": 200,"changes": {"backupChanges": 15,"serverChanges": 1}} -
Fehlerantworten:
401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token404: Server nicht gefunden500: Serverfehler während des Löschvorgangs
-
Hinweise:
- Dieser Vorgang ist unwiderruflich
- Alle mit dem Server verknüpften Sicherungsdaten werden dauerhaft gelöscht
- Der Servereintrag selbst wird ebenfalls entfernt
- Gibt die Anzahl der gelöschten Sicherungen und Server zurück
Serverdaten mit Überfälligkeits-Informationen abrufen - /api/detail/:serverId
-
Endpoint:
/api/detail/:serverId -
Methode: GET
-
Beschreibung: Ruft detaillierte Serverinformationen ab, einschließlich des Status für überfällige Sicherungen.
-
Parameter:
serverId: die Serverkennung
-
Antwort:
{"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"} -
Fehlerantworten:
404: Server nicht gefunden500: Serverfehler beim Abrufen der Serverdetails
-
Hinweise:
- Gibt Serverdaten mit Informationen zu überfälligen Sicherungen zurück
- Enthält Details und Zeitstempel zu überfälligen Sicherungen
- Wird für die Verwaltung und Überwachung überfälliger Sicherungen verwendet
Doppelte Server abrufen - /api/servers/duplicates
-
Endpoint:
/api/servers/duplicates -
Methode: GET
-
Beschreibung: Ruft eine Liste doppelter Server basierend auf der Maschinen-ID ab. Doppelte Server sind Server, die dieselbe Maschinen-ID teilen, aber als separate Datensätze in der Datenbank gespeichert sind.
-
Authentifizierung: Erfordert gültige Sitzung, CSRF-Token und Administratorzugriff
-
Antwort:
[{"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}]}] -
Fehlerantworten:
401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token403: Administratorzugriff erforderlich500: Serverfehler beim Abrufen doppelter Server
-
Hinweise:
- Nur Administratoren können auf diesen Endpunkt zugreifen
- Gibt Gruppen von Servern zurück, die dieselbe Maschinen-ID teilen
- Jede Gruppe enthält alle Server mit derselben Maschinen-ID
- Wird zum Identifizieren und Zusammenführen doppelter Serverdatensätze verwendet
- Enthält Serverdetails und Sicherungsanzahlen für jedes Duplikat
Server zusammenführen - /api/servers/merge
-
Endpoint:
/api/servers/merge -
Methode: POST
-
Beschreibung: Führt mehrere Server mit einem Zielserver zusammen. Alle Sicherungen der Quellserver werden auf den Zielserver übertragen, und die Quellserver werden gelöscht.
-
Authentifizierung: Erfordert gültige Sitzung, CSRF-Token und Administratorzugriff
-
Anforderungstext:
{"oldServerIds": ["server-id-1", "server-id-2"],"targetServerId": "server-id-3"} -
Antwort:
{"success": true,"message": "Successfully merged 2 server(s) into target server","backupIdsNormalized": 1} -
Fehlerantworten:
400: Ungültiger Anforderungstext, fehlende erforderliche Felder oder Zielserver ist in der Liste der zusammenzuführenden Server enthalten401: Nicht autorisiert – Ungültige Sitzung oder CSRF-Token403: Administratorzugriff erforderlich500: Serverfehler während des Zusammenführungsvorgangs
-
Hinweise:
- Nur Administratoren können Zusammenführungsvorgänge durchführen
- Der Zielserver darf nicht in der Liste der zusammenzuführenden Server enthalten sein
- Alle Sicherungen von Quell-Servern werden auf den Zielserver übertragen
- Doppelte
backup_idWerte für denselbenbackup_nameauf dem zusammengeführten Server werden auf die ID aus der aktuellsten Sicherungszeile normalisiert - Quell-Server werden nach erfolgreicher Zusammenführung gelöscht
- Dieser Vorgang ist unumkehrbar
- Wird verwendet, um doppelte Servereinträge zu konsolidieren
- Überprüft, dass oldServerIds ein nicht-leeres Array ist
- Überprüft, dass targetServerId angegeben ist und ein String ist