mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 08:23:12 +00:00
Editing a work order's POC never reached the backend: no update path wrote
PocName/PocPhone/PocNotes, so the optimistic UI edit was lost on refetch and
the completion freeze captured the Site contact instead of the manual value,
and nothing was audited.
- Add tenant-scoped PATCH api/workorders/{id}/poc via new WorkOrderPocService
+ WorkOrderPocDataService: persists the override, stages FieldChanged audit
entries (which also write field locks so sync never overwrites a manual POC),
and enforces row-version concurrency and terminal-status read-only rules.
- Lock semantics (SH-190): a manual POC away from the Site's live contacts is
stored WO-level; an edit equal to a live Site contact (or blanking name+phone)
stores nothing so the WO follows the Site. PocCustomized exposes the state.
- Board projection, completion freeze and create now share one Site-contact
fallback (first non-deleted contact by SiteContactOrder) so a never-overridden
WO keeps following the Site, including at create when the wizard prefills it.
- Route contract baseline gains PATCH {id:int}/poc.
|
||
|---|---|---|
| .. | ||
| AccountController.cs | ||
| AssetController.cs | ||
| AuthenticationController.cs | ||
| CalendarController.cs | ||
| CommonController.cs | ||
| ContactController.cs | ||
| DashboardController.cs | ||
| DispatchController.cs | ||
| DispatchPublicController.cs | ||
| DropdownOptionsController.cs | ||
| EmployeeController.cs | ||
| FollowUpController.cs | ||
| LocationController.cs | ||
| PMScheduleController.cs | ||
| QuotesController.cs | ||
| ServicesRegistryController.cs | ||
| SettingsController.cs | ||
| SyncController.cs | ||
| TaskListTemplateController.cs | ||
| TeamMemberController.cs | ||
| TeamPermissionController.cs | ||
| UpliftController.cs | ||
| UserController.cs | ||
| VendorCompanyRosterController.cs | ||
| VendorController.cs | ||
| VendorOperationsController.cs | ||
| VendorPortalController.cs | ||
| WorkOrderBoardController.cs | ||
| WorkOrderCompletionController.cs | ||
| WorkOrderController.cs | ||
| WorkOrderDetailController.cs | ||
| WorkOrderDispatchController.cs | ||
| WorkOrderIngestController.cs | ||
| WorkOrderJobsController.cs | ||
| WorkOrderMediaController.cs | ||
| WorkOrderOpsController.cs | ||
| WorkOrderReconciliationController.cs | ||
| WorkOrderWebhookController.cs | ||