mirror of
https://github.com/immich-app/immich
synced 2026-08-29 13:15:45 +00:00
refactor: use system metadata for maintenance status
This commit is contained in:
parent
625230f3e5
commit
2afbff36a3
21 changed files with 240 additions and 124 deletions
|
|
@ -11,6 +11,7 @@ import { DuplicateController } from 'src/controllers/duplicate.controller';
|
|||
import { FaceController } from 'src/controllers/face.controller';
|
||||
import { JobController } from 'src/controllers/job.controller';
|
||||
import { LibraryController } from 'src/controllers/library.controller';
|
||||
import { MaintenanceController } from 'src/controllers/maintenance.controller';
|
||||
import { MapController } from 'src/controllers/map.controller';
|
||||
import { MemoryController } from 'src/controllers/memory.controller';
|
||||
import { NotificationAdminController } from 'src/controllers/notification-admin.controller';
|
||||
|
|
@ -47,6 +48,7 @@ export const controllers = [
|
|||
FaceController,
|
||||
JobController,
|
||||
LibraryController,
|
||||
MaintenanceController,
|
||||
MapController,
|
||||
MemoryController,
|
||||
NotificationController,
|
||||
|
|
@ -70,4 +72,4 @@ export const controllers = [
|
|||
ViewController,
|
||||
];
|
||||
|
||||
export const maintenanceControllers = [MaintenanceServerController, MaintenanceUserController, SystemConfigController];
|
||||
export const maintenanceControllers = [MaintenanceServerController, MaintenanceUserController, MaintenanceController];
|
||||
|
|
|
|||
28
server/src/controllers/maintenance.controller.ts
Normal file
28
server/src/controllers/maintenance.controller.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import { Controller, Get, Post } from '@nestjs/common';
|
||||
import { ApiTags } from '@nestjs/swagger';
|
||||
import { Permission } from 'src/enum';
|
||||
import { Authenticated } from 'src/middleware/auth.guard';
|
||||
import { MaintenanceService } from 'src/services/maintenance.service';
|
||||
|
||||
@ApiTags('Maintenance (admin)')
|
||||
@Controller('admin/maintenance')
|
||||
export class MaintenanceController {
|
||||
constructor(private service: MaintenanceService) {}
|
||||
|
||||
@Get()
|
||||
getMaintenanceMode() {
|
||||
return this.service.getMaintenanceMode();
|
||||
}
|
||||
|
||||
@Post('start')
|
||||
@Authenticated({ permission: Permission.SystemMetadataUpdate, admin: true })
|
||||
startMaintenance() {
|
||||
return this.service.startMaintenance();
|
||||
}
|
||||
|
||||
@Post('end')
|
||||
@Authenticated({ permission: Permission.SystemMetadataUpdate, admin: true })
|
||||
endMaintenance() {
|
||||
return this.service.endMaintenance();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue