shoc-backend/SeaHaven.DataServices/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
..
CompletionDocTemplateModels.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
IAccountDataService.cs fix(locations): gate account assignment by scope and active accounts 2026-08-26 14:16:59 -03:00
IAccountOwnerDataService.cs feat(permissions): protect configured account owner (SH-329) 2026-09-16 21:40:22 -03:00
IAssetDataService.cs refactor 2026-04-28 18:55:14 -05:00
ICalendarDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ICategoryDataService.cs refactor 2026-04-28 18:55:14 -05:00
ICommentDataService.cs fix(work-orders): scope legacy GET GetComments by account [SH-221] 2026-08-11 15:18:29 -03:00
ICommonDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IContactDataService.cs refactor 2026-04-28 18:55:14 -05:00
IDashboardDataService.cs test(dashboard): pin drill-down rows for legacy open work orders 2026-09-25 03:38:31 -03:00
IDispatchDataService.cs Fix SH-387 uplift creation without primary dispatch 2026-09-22 16:44:31 -03:00
IDropdownOptionsDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IEmployeeDataService.cs refactor 2026-04-28 18:55:14 -05:00
IFollowUpDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IForgetPasswordDataService.cs fix(auth): harden password reset codes against guessing and email enumeration 2026-09-25 12:21:29 -03:00
ILocationDataService.cs feat(locations): support site registry queries (SH-330) 2026-09-16 20:45:15 -03:00
INotificationFeedDataService.cs feat(notifications): SEV response-window alerts and breach acknowledgement 2026-09-25 11:16:21 -03:00
IPMScheduleDataService.cs backend architectural template 2026-05-06 10:49:33 -05:00
IQuotesDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IServicesRegistryDataService.cs feat(services): add global services registry 2026-09-16 17:07:59 -03:00
ISettingsDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ISyncDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ITaskListTemplateDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
ITeamPermissionOverrideDataService.cs feat(team-members): add member detail editing (SH-326) 2026-09-16 21:41:55 -03:00
IUpliftDataService.cs fix(uplifts): pending exposure header sums the row deltas 2026-09-25 02:10:41 -03:00
IUserDataService.cs fix: make team member creation atomic 2026-09-23 03:35:23 -03:00
IUserServiceAreaDataService.cs feat(team-members): support pending member creation (SH-325) 2026-09-16 21:41:55 -03:00
IVendorCompanyRosterDataService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
IVendorDataService.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
IVendorDocumentDataService.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
IVendorOperationsDataService.cs feat(notifications): serve the Notification Center feed grouped by reason 2026-09-18 12:40:37 -03:00
IWorkOrderAdvancedSearchDataService.cs feat(work-orders): add Phase 4 board search and advanced search API 2026-07-24 09:58:39 -03:00
IWorkOrderAuditDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IWorkOrderBoardDataService.cs fix(work-orders): keep location account server-owned and forward create cancellation 2026-08-26 10:00:02 -03:00
IWorkOrderBoardMutationDataService.cs fix(work-orders): detach shared dispatch on vendor fork 2026-09-01 09:42:41 -03:00
IWorkOrderCompletionDataService.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
IWorkOrderDataService.cs fix(work-orders): scope legacy list/detail GETs by account [SH-221] 2026-08-11 11:57:37 -03:00
IWorkOrderDetailDataService.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
IWorkOrderDomainJobDataService.cs fix(work-orders): process all WeekRolled candidates across batches 2026-07-24 10:13:17 -03:00
IWorkOrderFieldLockDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IWorkOrderIngestDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IWorkOrderMediaDataService.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
IWorkOrderOpsHealthDataService.cs refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00
IWorkOrderPocDataService.cs fix(workorders): persist manual POC override with audit and site-follow (SH-379) 2026-09-18 14:30:54 -03:00
IWorkOrderReconciliationDataService.cs feat: complete SH-133 procurement reconciliation 2026-07-24 22:13:25 -03:00
IWorkOrderWebhookDataService.cs fix(work-orders): apply account scope across create and reads [SH-221] 2026-08-11 10:45:37 -03:00
WorkOrderAdvancedSearchModels.cs feat(workorders): filter board search to an exact work-order id set 2026-09-25 10:56:47 -03:00
WorkOrderBoardModels.cs fix(workorders): persist manual POC override with audit and site-follow (SH-379) 2026-09-18 14:30:54 -03:00
WorkOrderDetailModels.cs feat(work-orders): add structured service notes POC and vendor fields 2026-07-17 10:37:23 -03:00