mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 08:23:12 +00:00
Three contract gaps found reviewing the frontend consumer: - Revoking an auto-approved uplift never restored the dispatch NTE. Create raises NTE for both auto-approved and approved requests, but revoke restored it only for Approved, so the allowance was freed while the NTE stayed raised and every create -> auto-approve -> revoke cycle compounded the inflation. Revoke now compensates for NoApprovalRequired symmetrically. - Revoke and cancel had no work-order lifecycle check, so a direct API call could still mutate uplifts on a Completed or Canceled work order; the board dialog's read-only state is UX only. Both now reject terminal work orders in the service. - WorkOrderBoardCancelService read the pending-uplift list outside any gate, so an in-flight create could commit after that read and leave a pending uplift on a Canceled work order. The cancel flow now runs inside the same per-work-order gate as create, so the pending read, withdrawal and status audit serialize against it. |
||
|---|---|---|
| .. | ||
| Configuration | ||
| Constants | ||
| DependencyInjection | ||
| DTOs | ||
| Exceptions | ||
| Helpers | ||
| Implementation | ||
| Interfaces | ||
| Validation | ||
| SeaHaven.Services.csproj | ||