F6.1 · abrir inspecciones desde APK
This commit is contained in:
@@ -13,11 +13,13 @@ import {
|
|||||||
import { CurrentAuth } from '../auth/decorators/current-auth.decorator';
|
import { CurrentAuth } from '../auth/decorators/current-auth.decorator';
|
||||||
import { RequirePermissions } from '../authorization/decorators/require-permissions.decorator';
|
import { RequirePermissions } from '../authorization/decorators/require-permissions.decorator';
|
||||||
import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context';
|
import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context';
|
||||||
|
import { assertMobileInspector } from '../inspection-operations/mobile-inspector-policy';
|
||||||
import { CancelInspectionVisitDto } from './dto/cancel-inspection-visit.dto';
|
import { CancelInspectionVisitDto } from './dto/cancel-inspection-visit.dto';
|
||||||
import { CloseInspectionVisitDto } from './dto/close-inspection-visit.dto';
|
import { CloseInspectionVisitDto } from './dto/close-inspection-visit.dto';
|
||||||
import { CreateInspectionVisitDto } from './dto/create-inspection-visit.dto';
|
import { CreateInspectionVisitDto } from './dto/create-inspection-visit.dto';
|
||||||
import { ExcludeInspectionVisitAssetDto } from './dto/exclude-inspection-visit-asset.dto';
|
import { ExcludeInspectionVisitAssetDto } from './dto/exclude-inspection-visit-asset.dto';
|
||||||
import { ListInspectionVisitsQueryDto } from './dto/list-inspection-visits-query.dto';
|
import { ListInspectionVisitsQueryDto } from './dto/list-inspection-visits-query.dto';
|
||||||
|
import { OpenMobileInspectionDto } from './dto/open-mobile-inspection.dto';
|
||||||
import { ReplaceInspectionVisitAssetsDto } from './dto/replace-inspection-visit-assets.dto';
|
import { ReplaceInspectionVisitAssetsDto } from './dto/replace-inspection-visit-assets.dto';
|
||||||
import { ReplaceInspectionVisitTeamDto } from './dto/replace-inspection-visit-team.dto';
|
import { ReplaceInspectionVisitTeamDto } from './dto/replace-inspection-visit-team.dto';
|
||||||
import { UpdateInspectionVisitDto } from './dto/update-inspection-visit.dto';
|
import { UpdateInspectionVisitDto } from './dto/update-inspection-visit.dto';
|
||||||
@@ -57,6 +59,41 @@ export class InspectionVisitsController {
|
|||||||
return this.visits.listPlanningOperators(areaId);
|
return this.visits.listPlanningOperators(areaId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Get('mobile/planning-context/areas')
|
||||||
|
@RequirePermissions('inspections.execute')
|
||||||
|
mobilePlanningAreas(@CurrentAuth() principal: AuthPrincipal) {
|
||||||
|
assertMobileInspector(principal);
|
||||||
|
return this.visits.listPlanningAreas();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Get('mobile/planning-context/areas/:areaId/operators')
|
||||||
|
@RequirePermissions('inspections.execute')
|
||||||
|
mobilePlanningOperators(
|
||||||
|
@Param('areaId', new ParseUUIDPipe({ version: '4' })) areaId: string,
|
||||||
|
@CurrentAuth() principal: AuthPrincipal,
|
||||||
|
) {
|
||||||
|
assertMobileInspector(principal);
|
||||||
|
return this.visits.listPlanningOperators(areaId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post('mobile/open')
|
||||||
|
@RequirePermissions('inspections.execute')
|
||||||
|
async openMobile(
|
||||||
|
@Body() dto: OpenMobileInspectionDto,
|
||||||
|
@CurrentAuth() principal: AuthPrincipal,
|
||||||
|
@Req() request: RequestWithContext,
|
||||||
|
) {
|
||||||
|
assertMobileInspector(principal);
|
||||||
|
const created = await this.visits.create({
|
||||||
|
operationalAreaId: dto.operationalAreaId,
|
||||||
|
operatorCompanyId: dto.operatorCompanyId,
|
||||||
|
plannedStartAt: new Date().toISOString(),
|
||||||
|
leadInspectorUserId: principal.userId,
|
||||||
|
}, principal, request);
|
||||||
|
await this.lifecycle.plan(created.id, principal, request);
|
||||||
|
return this.lifecycle.start(created.id, principal, request);
|
||||||
|
}
|
||||||
|
|
||||||
@Get(':id')
|
@Get(':id')
|
||||||
@RequirePermissions('inspections.read')
|
@RequirePermissions('inspections.read')
|
||||||
get(@Param('id', new ParseUUIDPipe({ version: '4' })) id: string) {
|
get(@Param('id', new ParseUUIDPipe({ version: '4' })) id: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user