F2.3: exponer hallazgos de campo por Inventario
This commit is contained in:
@@ -0,0 +1,51 @@
|
|||||||
|
import {
|
||||||
|
Body,
|
||||||
|
Controller,
|
||||||
|
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 type { CreateFieldFindingDto } from './dto/create-field-finding.dto';
|
||||||
|
import { FieldFindingsService } from './field-findings.service';
|
||||||
|
|
||||||
|
@Controller('inspection-visits/:visitId/field-findings')
|
||||||
|
export class FieldFindingsController {
|
||||||
|
constructor(private readonly fieldFindings: FieldFindingsService) {}
|
||||||
|
|
||||||
|
@Get(':assetId/options')
|
||||||
|
@RequirePermissions('inspection_findings.create', 'inspections.execute')
|
||||||
|
options(
|
||||||
|
@Param('visitId', new ParseUUIDPipe({ version: '4' })) visitId: string,
|
||||||
|
@Param('assetId', new ParseUUIDPipe({ version: '4' })) assetId: string,
|
||||||
|
@CurrentAuth() principal: AuthPrincipal,
|
||||||
|
) {
|
||||||
|
return this.fieldFindings.options(visitId, assetId, principal);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get(':assetId')
|
||||||
|
@RequirePermissions('inspection_findings.read', 'inspections.execute')
|
||||||
|
list(
|
||||||
|
@Param('visitId', new ParseUUIDPipe({ version: '4' })) visitId: string,
|
||||||
|
@Param('assetId', new ParseUUIDPipe({ version: '4' })) assetId: string,
|
||||||
|
@CurrentAuth() principal: AuthPrincipal,
|
||||||
|
) {
|
||||||
|
return this.fieldFindings.list(visitId, assetId, principal);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post(':assetId')
|
||||||
|
@RequirePermissions('inspection_findings.create', 'inspections.execute')
|
||||||
|
create(
|
||||||
|
@Param('visitId', new ParseUUIDPipe({ version: '4' })) visitId: string,
|
||||||
|
@Param('assetId', new ParseUUIDPipe({ version: '4' })) assetId: string,
|
||||||
|
@Body() dto: CreateFieldFindingDto,
|
||||||
|
@CurrentAuth() principal: AuthPrincipal,
|
||||||
|
@Req() request: RequestWithContext,
|
||||||
|
) {
|
||||||
|
return this.fieldFindings.create(visitId, assetId, dto, principal, request);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user