import { Body, Controller, Get, Patch } from '@nestjs/common'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { CurrentUser } from '../auth/decorators/current-user.decorator'; import { RequirePermission } from '../auth/decorators/require-permission.decorator'; import type { AuthenticatedUser } from '../auth/types/authenticated-user'; import { ComplianceSettingsService } from './compliance-settings.service'; import { UpdateComplianceSettingsDto } from './dto/update-compliance-settings.dto'; @ApiTags('compliance') @ApiBearerAuth() @Controller('compliance/settings') export class ComplianceSettingsController { constructor(private readonly settings: ComplianceSettingsService) {} @RequirePermission('compliance:read') @Get() get() { return this.settings.get(); } @RequirePermission('compliance:manage') @Patch() update( @Body() dto: UpdateComplianceSettingsDto, @CurrentUser() actor: AuthenticatedUser, ) { return this.settings.update(dto, actor.id); } }