shoc-backend/SeaHaven.Services/Implementation
Alexandre Brandizzi 9084b7f642 fix(team-members): answer invalid_invite when send-code finds the invite closed
SendCodeAsync validates the invite, then starts the code with a conditional
update that also requires the invite to still be open. When an admin revoked
the link (or it was used) between those two reads, the refusal was reported as
resend_too_soon with a Retry-After, although the link was already dead.

On a refused start the invite is now read again: a closed invite gets the same
generic invalid_invite response as any other dead link, and a cooldown or send
limit refusal is computed from the fresh row.
2026-09-25 16:40:54 -03:00
..
AccountOwnerDesignationService.cs feat(permissions): protect configured account owner (SH-329) 2026-09-16 21:40:22 -03:00
AccountService.cs backend changes 2026-05-14 11:00:12 -05:00
AssetService.cs backend changes 2026-05-14 11:00:12 -05:00
AuthenticationService.cs Merge remote-tracking branch 'origin/feat/ab/sh-386-password-policy' into feat/ab/sh-385-invite-registration 2026-09-25 13:04:18 -03:00
CalendarService.cs fix(services): stamp user, contact, calendar and location audit times in UTC 2026-09-25 12:06:36 -03:00
CommonService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
CompletionDocTemplateService.cs fix(completion-templates): let PUT clear workOrderType with an explicit null 2026-09-25 11:40:49 -03:00
ContactService.cs fix(services): stamp user, contact, calendar and location audit times in UTC 2026-09-25 12:06:36 -03:00
DashboardService.cs feat(dashboard): count open unassigned work orders for the period (SH-392) 2026-09-24 21:11:31 -03:00
DispatchService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
DropdownOptionsService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
EmployeeService.cs backend changes 2026-05-14 11:00:12 -05:00
FollowUpService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
LocationService.cs Merge remote-tracking branch 'origin/main' into HEAD 2026-09-25 12:33:37 -03:00
NotificationFeedService.cs feat(notifications): SEV response-window alerts and breach acknowledgement 2026-09-25 11:16:21 -03:00
PastDueCacheService.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
PMScheduleService.cs backend changes 2026-05-14 11:00:12 -05:00
QuotesService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ServicesRegistryService.cs fix(services): allow admins to reactivate services 2026-09-16 22:30:32 -03:00
SettingsService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
SlaBreachAcknowledgementService.cs feat(notifications): SEV response-window alerts and breach acknowledgement 2026-09-25 11:16:21 -03:00
SyncFieldMergePolicy.cs fix(work-orders): lock ScheduledStart/End when patching apptTime 2026-07-21 09:31:27 -03:00
SyncService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
TaskListTemplateService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
TeamMemberInviteService.cs fix(team-members): do not report an invite email for a deactivated member 2026-09-25 13:13:50 -03:00
TeamMemberRegistrationService.cs fix(team-members): answer invalid_invite when send-code finds the invite closed 2026-09-25 16:40:54 -03:00
TeamMemberService.cs feat(team-members): report whether the re-invite after an email change was emailed 2026-09-25 12:54:27 -03:00
TeamPermissionPolicy.cs feat(permissions): add team member permission policy foundation (SH-327) 2026-09-16 17:48:37 -03:00
TeamPermissionService.cs feat(team-members): expose the caller's effective permissions 2026-09-25 12:03:39 -03:00
UpliftLifecycleService.cs fix(uplifts): audit uplift decisions on the dispatch's resolved work order 2026-09-24 23:30:16 -03:00
UpliftNotificationMessage.cs fix(uplifts): one per-path uplift amount for queue, approval and exposure 2026-09-25 02:32:58 -03:00
UpliftService.cs fix(uplifts): one per-path uplift amount for queue, approval and exposure 2026-09-25 02:32:58 -03:00
UpliftStatus.cs feat(work-orders): WO-scoped uplift endpoints and board summary (SH-196) 2026-08-13 14:49:56 -03:00
UserService.cs fix(services): stamp user, contact, calendar and location audit times in UTC 2026-09-25 12:06:36 -03:00
VendorCompanyRosterService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
VendorOperationsService.cs feat(notifications): serve the Notification Center feed grouped by reason 2026-09-18 12:40:37 -03:00
VendorPortalService.cs Merge pull request #173 from Sea-Haven-Industries/fix/ab/sh-383-media-contract 2026-09-25 06:02:21 +00:00
VendorPortalTokenService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
VendorService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
WorkOrderAccountResolver.cs feat(work-orders): stamp board create account from location 2026-08-26 09:12:48 -03:00
WorkOrderAdvancedSearchService.cs feat(workorders): filter board search to an exact work-order id set 2026-09-25 10:56:47 -03:00
WorkOrderAuditService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
WorkOrderBoardCancelService.cs fix(work-orders): symmetric NTE release, terminal guard, serialized cancel (SH-196) 2026-08-18 17:41:14 -03:00
WorkOrderBoardCreateService.cs fix(uplifts): resolve work-order uplifts through owned dispatches (SH-393) 2026-09-24 21:22:13 -03:00
WorkOrderBoardService.cs fix(workorders): persist manual POC override with audit and site-follow (SH-379) 2026-09-18 14:30:54 -03:00
WorkOrderBoardUpdateService.cs feat(work-orders): link service selections to registry 2026-09-16 18:02:57 -03:00
WorkOrderCommentService.cs fix(work-orders): block comment creation on canceled work orders 2026-08-24 09:59:13 -03:00
WorkOrderCompletionService.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
WorkOrderDetailService.cs feat(work-orders): capture Site/Vendor/POC snapshot on Completed 2026-09-10 15:46:25 -03:00
WorkOrderDispatchService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
WorkOrderFieldLockService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
WorkOrderIngestService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
WorkOrderMediaService.cs fix(media): name HEIC in the unsupported-type message and keep ticket keys out of comments 2026-09-25 02:58:15 -03:00
WorkOrderOpsHealthService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
WorkOrderPocService.cs fix(workorders): compare manual POC against the followed contact, not any site contact 2026-09-18 18:56:29 -03:00
WorkOrderReconciliationService.cs fix(work-orders): satisfy producer contract review 2026-07-27 16:33:06 -03:00
WorkOrderService.cs fix(work-orders): scope legacy GET GetComments by account [SH-221] 2026-08-11 15:18:29 -03:00
WorkOrderUpliftService.cs Merge remote-tracking branch 'origin/main' into lane/sh-327 2026-09-24 23:00:18 -03:00
WorkOrderWebhookService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
WorkOrderWeekRolledService.cs fix(work-orders): process all WeekRolled candidates across batches 2026-07-24 10:13:17 -03:00