diff --git a/api-v3/src/inspection-visits/inspection-visits.controller.ts b/api-v3/src/inspection-visits/inspection-visits.controller.ts index f0ea808..8cd1bdc 100644 --- a/api-v3/src/inspection-visits/inspection-visits.controller.ts +++ b/api-v3/src/inspection-visits/inspection-visits.controller.ts @@ -23,6 +23,7 @@ import { OpenMobileInspectionDto } from './dto/open-mobile-inspection.dto'; import { ReplaceInspectionVisitAssetsDto } from './dto/replace-inspection-visit-assets.dto'; import { ReplaceInspectionVisitTeamDto } from './dto/replace-inspection-visit-team.dto'; import { UpdateInspectionVisitDto } from './dto/update-inspection-visit.dto'; +import { InspectionPlanningHierarchyService } from './inspection-planning-hierarchy.service'; import { InspectionVisitLifecycleService } from './inspection-visit-lifecycle.service'; import { InspectionVisitsService } from './inspection-visits.service'; @@ -31,6 +32,7 @@ export class InspectionVisitsController { constructor( private readonly visits: InspectionVisitsService, private readonly lifecycle: InspectionVisitLifecycleService, + private readonly planningHierarchy: InspectionPlanningHierarchyService, ) {} @Get() @@ -45,6 +47,29 @@ export class InspectionVisitsController { return this.visits.listAssignees(); } + @Get('planning-context/departments') + @RequirePermissions('inspections.read') + planningDepartments() { + return this.planningHierarchy.departments(); + } + + @Get('planning-context/departments/:departmentId/areas') + @RequirePermissions('inspections.read') + planningAreasForDepartment( + @Param('departmentId', new ParseUUIDPipe({ version: '4' })) departmentId: string, + ) { + return this.planningHierarchy.areasForDepartment(departmentId); + } + + @Get('planning-context/areas/:areaId/yacimientos') + @RequirePermissions('inspections.read') + planningYacimientos( + @Param('areaId', new ParseUUIDPipe({ version: '4' })) areaId: string, + ) { + return this.planningHierarchy.yacimientosForArea(areaId); + } + + /** Compatibilidad con clientes anteriores: lista todas las Áreas. */ @Get('planning-context/areas') @RequirePermissions('inspections.read') planningAreas() {