shoc-backend/Api.SeaHavenIndustries/Controllers
Alexandre Brandizzi 104439c239 fix(dashboard): serialise KPI counts in Stats response (SH-353)
GetKpiCountsAsync computes ScheduledTomorrow, PendingUplifts and
AvetaPending and DashboardStatsDTO carries them, but the Stats
endpoint's anonymous wire object never serialised them, so the tiles
had nothing to read. Add scheduledTomorrow, pendingUplifts and
avetaPending to the response.

Add a DashboardServiceTests case covering GetKpiCountsAsync end to end:
it asserts all three counts and pins the pendingUplifts semantics to
Status "Pending" only, excluding "ChangesRequested" (which is back with
the vendor, not awaiting an approval decision).
2026-09-16 20:07:31 -03:00
..
AccountController.cs backend changes 2026-05-14 11:00:12 -05:00
AssetController.cs backend changes 2026-05-14 11:00:12 -05:00
AuthenticationController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
CalendarController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
CommonController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ContactController.cs backend changes 2026-05-14 11:00:12 -05:00
DashboardController.cs fix(dashboard): serialise KPI counts in Stats response (SH-353) 2026-09-16 20:07:31 -03:00
DispatchController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
DispatchPublicController.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
DropdownOptionsController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
EmployeeController.cs backend changes 2026-05-14 11:00:12 -05:00
FollowUpController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
LocationController.cs feat(locations): manage ordered site contacts 2026-09-15 19:03:54 -03:00
PMScheduleController.cs backend changes 2026-05-14 11:00:12 -05:00
QuotesController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
SettingsController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
SyncController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
TaskListTemplateController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
UpliftController.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
UserController.cs !fix(users): restrict DeleteUser to Admin [SH-221] 2026-08-11 09:44:52 -03:00
VendorCompanyRosterController.cs fix: return vendor duplicate name conflict (#92) 2026-08-27 14:55:09 -03:00
VendorController.cs SH-281: group vendor directory by company (#115) 2026-09-15 16:02:44 -03:00
VendorOperationsController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
VendorPortalController.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
WorkOrderBoardController.cs fix(work-orders): keep location account server-owned and forward create cancellation 2026-08-26 10:00:02 -03:00
WorkOrderCompletionController.cs Merge branch 'dev' into fix/SH-337-completion-doc-allowlist 2026-09-10 14:38:06 -03:00
WorkOrderController.cs fix(work-orders): scope legacy GET GetComments by account [SH-221] 2026-08-11 15:18:29 -03:00
WorkOrderDetailController.cs feat(work-orders): WO-scoped uplift endpoints and board summary (SH-196) 2026-08-13 14:49:56 -03:00
WorkOrderDispatchController.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
WorkOrderIngestController.cs feat(work-orders): add work order ingest API with X-Ingest-Key 2026-07-13 13:22:11 -03:00
WorkOrderJobsController.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
WorkOrderMediaController.cs feat(work-orders): add authorized media content GET 2026-09-08 11:23:52 -03:00
WorkOrderOpsController.cs feat(work-orders): add Sync kill-switch and ops health coexistence endpoints 2026-07-13 13:22:12 -03:00
WorkOrderReconciliationController.cs test: prove SH-133 webhook and admin boundaries 2026-07-25 15:45:52 -03:00
WorkOrderWebhookController.cs feat: ingest signed procurement work-order webhooks 2026-07-24 21:03:50 -03:00