F4: expose finding recurrence endpoints

This commit is contained in:
2026-09-07 21:21:04 -03:00
parent af6256ce0f
commit 236605a7d7
@@ -0,0 +1,47 @@
import {
Body,
Controller,
Delete,
Get,
Param,
ParseUUIDPipe,
Post,
Req,
} from '@nestjs/common';
import { CurrentAuth } from '../auth/decorators/current-auth.decorator';
import { RequirePermissions } from '../authorization/decorators/require-permissions.decorator';
import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context';
import { SetFindingRecurrenceDto } from './dto/set-finding-recurrence.dto';
import { FindingRecurrenceService } from './finding-recurrence.service';
@Controller('inspection-findings')
export class FindingRecurrenceController {
constructor(private readonly recurrence: FindingRecurrenceService) {}
@Get(':id/recurrence-candidates')
@RequirePermissions('inspection_findings.read')
candidates(@Param('id', new ParseUUIDPipe({ version: '4' })) id: string) {
return this.recurrence.candidates(id);
}
@Post(':id/recurrence')
@RequirePermissions('inspection_findings.update')
link(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: SetFindingRecurrenceDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.recurrence.link(id, dto, principal, request);
}
@Delete(':id/recurrence')
@RequirePermissions('inspection_findings.update')
clear(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.recurrence.clear(id, principal, request);
}
}