feat: add external maintenance mode status

This commit is contained in:
izzy
2025-11-19 15:54:44 +00:00
parent af741a4761
commit 442fe6e3d0
12 changed files with 430 additions and 7 deletions

View File

@@ -372,6 +372,40 @@
"x-immich-state": "Alpha"
}
},
"/admin/maintenance/admin/maintenance/status": {
"get": {
"description": "Fetch information about the currently running maintenance action.",
"operationId": "maintenanceStatus",
"parameters": [],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MaintenanceStatusResponseDto"
}
}
},
"description": ""
}
},
"summary": "Get maintenance mode status",
"tags": [
"Maintenance (admin)"
],
"x-immich-history": [
{
"version": "v9.9.9",
"state": "Added"
},
{
"version": "v9.9.9",
"state": "Alpha"
}
],
"x-immich-state": "Alpha"
}
},
"/admin/maintenance/login": {
"post": {
"description": "Login with maintenance token or cookie to receive current information and perform further actions.",
@@ -16550,6 +16584,28 @@
},
"type": "object"
},
"MaintenanceStatusResponseDto": {
"properties": {
"action": {
"enum": [
"start",
"end",
"restore_database"
],
"type": "string"
},
"error": {
"type": "string"
},
"progress": {
"type": "number"
},
"task": {
"type": "string"
}
},
"type": "object"
},
"ManualJobName": {
"enum": [
"person-cleanup",

View File

@@ -44,6 +44,12 @@ export type SetMaintenanceModeDto = {
action: MaintenanceAction;
restoreBackupFilename?: string;
};
export type MaintenanceStatusResponseDto = {
action?: Action;
error?: string;
progress?: number;
task?: string;
};
export type MaintenanceLoginDto = {
token?: string;
};
@@ -515,7 +521,7 @@ export type AssetBulkUploadCheckDto = {
assets: AssetBulkUploadCheckItem[];
};
export type AssetBulkUploadCheckResult = {
action: Action;
action: Action2;
assetId?: string;
id: string;
isTrashed?: boolean;
@@ -1845,6 +1851,17 @@ export function setMaintenanceMode({ setMaintenanceModeDto }: {
body: setMaintenanceModeDto
})));
}
/**
* Get maintenance mode status
*/
export function maintenanceStatus(opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
data: MaintenanceStatusResponseDto;
}>("/admin/maintenance/admin/maintenance/status", {
...opts
}));
}
/**
* Log into maintenance mode
*/
@@ -5057,6 +5074,11 @@ export enum MaintenanceAction {
End = "end",
RestoreDatabase = "restore_database"
}
export enum Action {
Start = "start",
End = "end",
RestoreDatabase = "restore_database"
}
export enum NotificationLevel {
Success = "success",
Error = "error",
@@ -5262,7 +5284,7 @@ export enum AssetMediaStatus {
Replaced = "replaced",
Duplicate = "duplicate"
}
export enum Action {
export enum Action2 {
Accept = "accept",
Reject = "reject"
}