import { SystemConfigDto, SystemConfigService, SystemConfigTemplateStorageOptionDto } from '@app/domain'; import { Body, Controller, Get, Put } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { Authenticated } from '../decorators/authenticated.decorator'; import { UseValidation } from '../decorators/use-validation.decorator'; @ApiTags('System Config') @Controller('system-config') @Authenticated({ admin: true }) @UseValidation() export class SystemConfigController { constructor(private readonly service: SystemConfigService) {} @Get() getConfig(): Promise { return this.service.getConfig(); } @Get('defaults') getDefaults(): SystemConfigDto { return this.service.getDefaults(); } @Put() updateConfig(@Body() dto: SystemConfigDto): Promise { return this.service.updateConfig(dto); } @Get('storage-template-options') getStorageTemplateOptions(): SystemConfigTemplateStorageOptionDto { return this.service.getStorageTemplateOptions(); } }