diff --git a/server/src/app.module.ts b/server/src/app.module.ts index cd42bb92a0..7068f68eaa 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -151,6 +151,7 @@ export class MaintenanceModule { ); await this.maintenanceWorkerService.logSecret(); + void this.maintenanceWorkerService.runAction(state.action); } } diff --git a/server/src/maintenance/maintenance-worker.controller.ts b/server/src/maintenance/maintenance-worker.controller.ts index f14cc2b3ee..e57a4e2ac6 100644 --- a/server/src/maintenance/maintenance-worker.controller.ts +++ b/server/src/maintenance/maintenance-worker.controller.ts @@ -47,8 +47,8 @@ export class MaintenanceWorkerController { @Post('admin/maintenance') @MaintenanceRoute() - async setMaintenanceMode(@Body() dto: SetMaintenanceModeDto): Promise { - await this.service.runAction(dto); + setMaintenanceMode(@Body() dto: SetMaintenanceModeDto): void { + void this.service.setAction(dto); } @Get('admin/maintenance/backups/list') diff --git a/server/src/maintenance/maintenance-worker.service.ts b/server/src/maintenance/maintenance-worker.service.ts index 17a09ceeae..37bc534889 100644 --- a/server/src/maintenance/maintenance-worker.service.ts +++ b/server/src/maintenance/maintenance-worker.service.ts @@ -185,6 +185,14 @@ export class MaintenanceWorkerService { } } + async setAction(action: SetMaintenanceModeDto) { + this.setStatus({ + action: action.action, + }); + + await this.runAction(action); + } + async runAction(action: SetMaintenanceModeDto) { switch (action.action) { case MaintenanceAction.Start: @@ -225,7 +233,7 @@ export class MaintenanceWorkerService { } } - async endMaintenance(): Promise { + private async endMaintenance(): Promise { const state: MaintenanceModeState = { isMaintenanceMode: false as const }; await this.systemMetadataRepository.set(SystemMetadataKey.MaintenanceMode, state); @@ -253,11 +261,9 @@ export class MaintenanceWorkerService { }), ); - this.setStatus({ + await this.runAction({ action: MaintenanceAction.End, }); - - await this.endMaintenance(); } async listBackups(): Promise> {