fix(f4): name recurrence response contracts for api declarations

This commit is contained in:
2026-09-08 13:55:11 -03:00
parent 30353c338b
commit 7b6460dff2
2 changed files with 10 additions and 3 deletions
@@ -13,6 +13,7 @@ import { AuditAction } from '../database/entities';
import { assertMobileInspector } from '../inspection-operations/mobile-inspector-policy'; import { assertMobileInspector } from '../inspection-operations/mobile-inspector-policy';
import type { SetFindingRecurrenceDto } from './dto/set-finding-recurrence.dto'; import type { SetFindingRecurrenceDto } from './dto/set-finding-recurrence.dto';
import { InspectionFindingsService } from './inspection-findings.service'; import { InspectionFindingsService } from './inspection-findings.service';
import type { InspectionFindingView } from './inspection-findings.service';
interface FindingRecurrenceContext { interface FindingRecurrenceContext {
id: string; id: string;
@@ -32,6 +33,8 @@ export interface FindingRecurrenceState {
recurrenceOfFindingCode: string | null; recurrenceOfFindingCode: string | null;
} }
export type FindingWithRecurrenceView = InspectionFindingView & FindingRecurrenceState;
function comparable(value: string): string { function comparable(value: string): string {
return value return value
.normalize('NFD') .normalize('NFD')
@@ -104,7 +107,7 @@ export class FindingRecurrenceService {
dto: SetFindingRecurrenceDto, dto: SetFindingRecurrenceDto,
principal: AuthPrincipal, principal: AuthPrincipal,
request: RequestWithContext, request: RequestWithContext,
) { ): Promise<FindingWithRecurrenceView> {
assertMobileInspector(principal); assertMobileInspector(principal);
await this.dataSource.transaction(async (manager) => { await this.dataSource.transaction(async (manager) => {
const current = await this.requireFinding(manager, id, true); const current = await this.requireFinding(manager, id, true);
@@ -174,7 +177,7 @@ export class FindingRecurrenceService {
id: string, id: string,
principal: AuthPrincipal, principal: AuthPrincipal,
request: RequestWithContext, request: RequestWithContext,
) { ): Promise<FindingWithRecurrenceView> {
assertMobileInspector(principal); assertMobileInspector(principal);
await this.dataSource.transaction(async (manager) => { await this.dataSource.transaction(async (manager) => {
const current = await this.requireFinding(manager, id, true); const current = await this.requireFinding(manager, id, true);
@@ -17,8 +17,10 @@ import { CreateInspectionFindingDto } from './dto/create-inspection-finding.dto'
import { ListInspectionFindingsQueryDto } from './dto/list-inspection-findings-query.dto'; import { ListInspectionFindingsQueryDto } from './dto/list-inspection-findings-query.dto';
import { UpdateInspectionFindingDto } from './dto/update-inspection-finding.dto'; import { UpdateInspectionFindingDto } from './dto/update-inspection-finding.dto';
import { FindingRecurrenceService } from './finding-recurrence.service'; import { FindingRecurrenceService } from './finding-recurrence.service';
import type { FindingRecurrenceState } from './finding-recurrence.service';
import { InspectionFindingWorklistService } from './inspection-finding-worklist.service'; import { InspectionFindingWorklistService } from './inspection-finding-worklist.service';
import { InspectionFindingsService } from './inspection-findings.service'; import { InspectionFindingsService } from './inspection-findings.service';
import type { InspectionFindingView } from './inspection-findings.service';
@Controller('inspection-acts/:actId/findings') @Controller('inspection-acts/:actId/findings')
export class InspectionActFindingsController { export class InspectionActFindingsController {
@@ -58,7 +60,9 @@ export class InspectionFindingsController {
@Get(':id') @Get(':id')
@RequirePermissions('inspection_findings.read') @RequirePermissions('inspection_findings.read')
async get(@Param('id', new ParseUUIDPipe({ version: '4' })) id: string) { async get(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
): Promise<InspectionFindingView & FindingRecurrenceState> {
const [finding, recurrence] = await Promise.all([ const [finding, recurrence] = await Promise.all([
this.findings.getById(id), this.findings.getById(id),
this.recurrence.state(id), this.recurrence.state(id),