Saltar para o conteúdo principal

Proposta futura, não implementada na API REST L1. Entidades e funcionalidades da app descritas abaixo não implicam endpoints /v1 disponíveis.

Planificador

Entidade: existe — schemas.PlannerAllocation / allocationSchema (planner-model.ts), coleção plannerAllocations; equipas (teamSchema) e preferências em dashboard/planner. Dois tipos: folderAllocation (fase do projeto) e memberAllocation (membro destacado numa obra).

MétodoCaminhoScope
GET/planner/allocations?from=&to=&projectId=&memberId=planner:read
POST/planner/allocationsplanner:write
GET / PATCH / DELETE/planner/allocations/{id}planner:read / write
GET / POST / PATCH / DELETE/planner/teams[/{id}]planner:read / write
GET/planner/absences?from=&to=planner:read (férias/doenças, conforme absencePolicy)

POST /planner/allocations​

Corpo = allocationInput (datas civis, fim inclusivo):

{ "projectId": "prj_bl001", "memberId": "blean-worker", "startDate": "2026-11-03", "endDate": "2026-11-07", "isFullDay": true, "startTime": "08:00", "endTime": "17:00", "description": "Blean — Equipa de obra", "name": "Blean" }

memberId: null cria uma folderAllocation. 201:

{ "id": "alloc_3a9", "type": "memberAllocation", "folderId": "prj_bl001", "memberId": "blean-worker", "start": "2026-11-03T00:00:00Z", "end": "2026-11-07T00:00:00Z", "isFullDay": true, "startTime": "08:00", "endTime": "17:00", "description": "Blean — Equipa de obra", "deploymentName": "Blean", "dateRangeContainerBlocks": [], "version": 1 }

Erros: 422 (fim antes do início). Uma fase só muda entre projetos e uma alocação de membro só muda entre membros (dropAllocation) → 422 invalid_move.