shoc-backend/SeaHaven.Services/Interfaces
Alexandre Brandizzi c841e130be fix(auth): harden password reset codes against guessing and email enumeration
Forgot Password answers every address the same way and emails a code only
to an active account. Codes are stored as salted SHA-256 hashes, expire 15
minutes after issue, are replaced by a newer request, and are checked only
against the email they were issued to. Five failed checks delete the code;
attempts are reserved with one conditional UPDATE so concurrent guesses
cannot exceed the budget. VerificationCode requires the email, and email and
code are accepted in the JSON body so they stay out of URLs.

The three anonymous endpoints are rate limited to 10 requests per 15
minutes per client IP. Forwarded headers are trusted only through loopback
and private hops, since the API sits behind the EB load balancer and nginx.
The migration adds hash, salt, expiry and attempt columns and deletes the
old plaintext rows.
2026-09-25 12:21:29 -03:00
..
IAccountOwnerDesignationService.cs feat(permissions): protect configured account owner (SH-329) 2026-09-16 21:40:22 -03:00
IAccountService.cs refactor 2026-04-28 18:55:14 -05:00
IAssetService.cs refactor 2026-04-28 18:55:14 -05:00
IAuthenticationService.cs fix(auth): harden password reset codes against guessing and email enumeration 2026-09-25 12:21:29 -03:00
ICalendarService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ICommonService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ICompletionDocTemplateService.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
IContactService.cs refactor 2026-04-28 18:55:14 -05:00
IDashboardService.cs feat(dashboard): add trend metrics (SH-350) 2026-09-16 18:42:26 -03:00
IDispatchService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IDropdownOptionsService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IEmailSender.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IEmployeeService.cs refactor 2026-04-28 18:55:14 -05:00
IFollowUpService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ILocationService.cs feat(locations): support site registry queries (SH-330) 2026-09-16 20:45:15 -03:00
INotificationFeedService.cs feat(notifications): serve the Notification Center feed grouped by reason 2026-09-18 12:40:37 -03:00
IPastDueCacheService.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
IPMScheduleService.cs refactor 2026-04-28 18:55:14 -05:00
IProcurementWorkOrderClient.cs feat: complete SH-133 procurement reconciliation 2026-07-24 22:13:25 -03:00
IQuotesService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IServicePorts.cs feat(work-orders): add file storage OpenRead port 2026-09-08 11:08:26 -03:00
IServicesRegistryService.cs feat(services): add global services registry 2026-09-16 17:07:59 -03:00
ISettingsService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ISlaBreachAcknowledgementService.cs feat(notifications): SEV response-window alerts and breach acknowledgement 2026-09-25 11:16:21 -03:00
ISyncExternalSource.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ISyncFieldMergePolicy.cs fix(work-orders): address PR review on sync, audit, lock and mapper 2026-07-02 09:30:05 -03:00
ISyncService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ITaskListTemplateService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ITeamMemberService.cs feat(team-members): add member detail editing (SH-326) 2026-09-16 21:41:55 -03:00
ITeamPermissionPolicy.cs feat(permissions): add team member permission policy foundation (SH-327) 2026-09-16 17:48:37 -03:00
ITeamPermissionService.cs feat(permissions): expose team member permission overrides (SH-328) 2026-09-16 18:02:02 -03:00
IUpliftLifecycleService.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
IUpliftService.cs feat(uplifts): add approval decision actions (SH-210) 2026-09-16 20:11:26 -03:00
IUserService.cs !fix(users): restrict DeleteUser to Admin [SH-221] 2026-08-11 09:44:52 -03:00
IVendorCompanyRosterService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
IVendorOperationsService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IVendorPortalService.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
IVendorPortalTokenService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IVendorService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
IWorkOrderAccountResolver.cs feat(work-orders): stamp board create account from location 2026-08-26 09:12:48 -03:00
IWorkOrderAdvancedSearchService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
IWorkOrderAuditService.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
IWorkOrderBoardCancelService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
IWorkOrderBoardCreateService.cs fix(work-orders): keep location account server-owned and forward create cancellation 2026-08-26 10:00:02 -03:00
IWorkOrderBoardService.cs fix(work-orders): keep GET /board to scheduled-in-week rows only (SH-165) 2026-08-24 18:29:18 -03:00
IWorkOrderBoardUpdateService.cs wip: work orders phases 1-7 (isolated from phase 0 foundation) 2026-06-30 10:09:48 -03:00
IWorkOrderCommentService.cs fix(work-orders): scope comments and completion-doc by account [SH-221] 2026-08-11 14:52:02 -03:00
IWorkOrderCompletionService.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
IWorkOrderDetailService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
IWorkOrderDispatchService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IWorkOrderFieldLockService.cs feat(work-orders): add audit, field lock and sync merge services 2026-07-02 09:17:59 -03:00
IWorkOrderMediaService.cs feat(work-orders): authorize WO media content reads 2026-09-08 11:19:41 -03:00
IWorkOrderPhase7Services.cs feat(work-orders): add work order ingest API with X-Ingest-Key 2026-07-13 13:22:11 -03:00
IWorkOrderPocService.cs fix(workorders): persist manual POC override with audit and site-follow (SH-379) 2026-09-18 14:30:54 -03:00
IWorkOrderReconciliationRunner.cs test: prove SH-133 webhook and admin boundaries 2026-07-25 15:45:52 -03:00
IWorkOrderReconciliationService.cs test: prove SH-133 webhook and admin boundaries 2026-07-25 15:45:52 -03:00
IWorkOrderService.cs fix(work-orders): scope legacy GET GetComments by account [SH-221] 2026-08-11 15:18:29 -03:00
IWorkOrderUpliftService.cs fix(work-orders): enforce SH-196 cumulative allowance and one pending per WO 2026-08-14 10:36:35 -03:00
IWorkOrderWebhookSecretProvider.cs feat: ingest signed procurement work-order webhooks 2026-07-24 21:03:50 -03:00
IWorkOrderWebhookService.cs feat: ingest signed procurement work-order webhooks 2026-07-24 21:03:50 -03:00
IWorkOrderWeekRolledService.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
IZipCodeDistance.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00