Core Operations
Get Dashboard Data (Consolidated) - /api/dashboard
-
Endpoint:
/api/dashboard -
Method: GET
-
Description: Ek hi consolidated response mein sabhi dashboard data retrieve karta hai, jisme server summaries, overall summary, aur chart data shamil hai.
-
Response:
{"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}]} -
Error Responses:
500: Dashboard data fetch karte samay server truti
-
Notes:
- Yeh endpoint pichle
/api/servers-summaryendpoint ko consolidate karta hai (jise hata diya gaya hai) overallSummaryfield mein/api/summaryjaisa hi data hota hai (jise external applications ke liye maintain kiya gaya hai)chartDatafield mein/api/chart-data/aggregatedjaisa hi data hota hai (jo abhi bhi direct access ke liye maujood hai)- Ek hi request mein multiple API calls ko kam karke behtar performance pradan karta hai
- Optimal performance ke liye sabhi data parallel mein fetch kiya jata hai
secondsSinceLastBackupfield sabhi servers par antim backup ke baad ka samay seconds mein dikhata hai
- Yeh endpoint pichle
Get All Servers - /api/servers
-
Endpoint:
/api/servers -
Method: GET
-
Description: Unke basic information ke saath sabhi servers ki list retrieve karta hai. Vaikalpik roop se backup jaankaaree shamil ho sakti hai.
-
Authentication: Vaidh session aur CSRF token ki avashyakta hai
-
Query Parameters:
includeBackups(optional): Pratyek server ke liye backup jaankaaree shamil karne hetutruepar set karein
-
Response (parameters ke bina):
[{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server"}] -
Response (
includeBackups=trueke saath):[{"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}] -
Error Responses:
401: Anadhikrit - Avaidh session ya CSRF token500: Server fetch karne mein truti
-
Notes:
- Alias aur note fields shamil server jaankaaree return karta hai
- Jab
includeBackups=true, server-backup combinations ko URLs aur password status ke saath return karta hai - Pichle
/api/servers-with-backupsendpoint ko consolidate karta hai (jise hata diya gaya hai) - Server selection, display, aur configuration purposes ke liye istemal kiya jata hai
- Server mein stored password hai ya nahi yeh batane ke liye
hasPasswordfield shamil hai
Get Server Details - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Method: GET
-
Description: Ek vishisht server ke baare mein jaankaaree retrieve karta hai. Basic server info ya detailed jaankaaree return kar sakta hai jisme backups aur chart data shamil hai.
-
Authentication: Vaidh session aur CSRF token ki avashyakta hai
-
Parameters:
id: Server identifier
-
Query Parameters:
includeBackups(optional): Backup data shamil karne hetutruepar set kareinincludeChartData(optional): Chart data shamil karne hetutruepar set karein
-
Response (parameters ke bina):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200"} -
Response (parameters ke saath):
{"id": "server-id","name": "Server Name","alias": "Server Alias","note": "Additional notes about the server","server_url": "http://localhost:8200","backups": [{ ... }],"chartData": [{ ... }]} -
Error Responses:
401: Anadhikrit - Avaidh session ya CSRF token404: Server nahi mila500: Server details fetch karne mein server truti
-
Notes:
- Jab koi query parameter nahi diya jata hai tab basic server jaankaaree return karta hai
includeBackupsyaincludeChartDatamein se kisi ko bhitruepar set karne se backups aur chartData shamil poora server data return hota hai- Server settings aur detail views ke liye istemal kiya jata hai
Update Server - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Method: PATCH
-
Description: Alias, note, aur server URL shamil server details ko update karta hai.
-
Authentication: Vaidh session aur CSRF token ki avashyakta hai
-
Parameters:
id: Server identifier
-
Request Body:
{"server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Response:
{"message": "Server updated successfully","serverId": "server-id","server_url": "http://localhost:8200","alias": "Server Alias","note": "Additional notes about the server"} -
Error Responses:
401: Anadhikrit - Avaidh session ya CSRF token404: Server nahi mila500: Update ke dauran server truti
-
Notes:
- Server upnaam, note, aur server URL update karta hai
- Sabhi fields optional hain
- Sabhi fields ke liye khali strings allowed hain
Server delete karein - /api/servers/:id
-
Endpoint:
/api/servers/:id -
Method: DELETE
-
Description: Ek server aur uske sabhi associated backups ko delete karta hai.
-
Authentication: Valid session aur CSRF token chahiye
-
Parameters:
id: server identifier
-
Response:
{"message": "Successfully deleted server and 15 backups","status": 200,"changes": {"backupChanges": 15,"serverChanges": 1}} -
Error Responses:
401: Unauthorized - Invalid session ya CSRF token404: Server nahi mila500: Deletion ke dauraan server mein truti
-
Notes:
- Yeh operation irreversible hai
- Server se juda hua sabhi backup data permanently delete ho jayega
- Server record bhi remove kar diya jayega
- Delete kiye gaye backups aur servers ki count return karta hai
Vilambit Backup Jaankaaree ke saath Server Data prapt karein - /api/detail/:serverId
-
Endpoint:
/api/detail/:serverId -
Method: GET
-
Description: Vilambit backup stithi sahit detailed server jaankaaree prapt karta hai.
-
Parameters:
serverId: server identifier
-
Response:
{"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"} -
Error Responses:
404: Server nahi mila500: Server details prapt karne mein server truti
-
Notes:
- Vilambit backup jaankaaree ke saath server data return karta hai
- Vilambit backup details aur timestamps shamil hain
- Vilambit backup management aur monitoring ke liye istemaal kiya jata hai
Duplicate servers prapt karein - /api/servers/duplicates
-
Endpoint:
/api/servers/duplicates -
Method: GET
-
Description: Machine ID ke adhaar par duplicate servers ki list prapt karta hai. Duplicate servers woh servers hain jo ek hi machine ID share karte hain lekin database mein alag records ke roop mein store hote hain.
-
Authentication: Valid session, CSRF token, aur administrator access chahiye
-
Response:
[{"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}]}] -
Error Responses:
401: Unauthorized - Invalid session ya CSRF token403: Administrator access chahiye500: Duplicate servers prapt karne mein server truti
-
Notes:
- Sirf administrators is endpoint ko access kar sakte hain
- Un servers ke groups return karta hai jo ek hi machine ID share karte hain
- Har group mein ek hi machine ID wale sabhi servers shamil hain
- Duplicate server records ki pehchaan aur merge karne ke liye istemaal kiya jata hai
- Har duplicate ke liye server details aur backup counts shamil hain
Servers merge karein - /api/servers/merge
-
Endpoint:
/api/servers/merge -
Method: POST
-
Description: Kai servers ko ek target server mein merge karta hai. Source servers ke sabhi backups target server mein transfer kiye jaate hain, aur source servers delete kar diye jaate hain.
-
Authentication: Valid session, CSRF token, aur administrator access chahiye
-
Request Body:
{"oldServerIds": ["server-id-1", "server-id-2"],"targetServerId": "server-id-3"} -
Response:
{"success": true,"message": "Successfully merged 2 server(s) into target server","backupIdsNormalized": 1} -
Error Responses:
400: Invalid request body, zaroori fields missing, ya target server merge kiye jaane wale servers ki list mein hai401: Unauthorized - Invalid session ya CSRF token403: Administrator access chahiye500: Merge operation ke dauraan server truti
-
Notes:
- Sirf administrators merge operations kar sakte hain
- Target server merge kiye jaane wale servers ki list mein nahi hona chahiye
- Source servers ke sabhi backups target server mein transfer kiye jaate hain
- Merged server par ek hi
backup_nameke liye duplicatebackup_idvalues sabse naye backup row ke ID mein normalize ho jaate hain - Successful merge ke baad source servers delete kar diye jaate hain
- Yeh operation irreversible hai
- Duplicate server records ko consolidate karne ke liye istemaal kiya jata hai
- Validate karta hai ki oldServerIds ek non-empty array hai
- Validate karta hai ki targetServerId provide kiya gaya hai aur ek string hai