shoc-backend/Data.SeaHavenIndustries/Migrations
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
..
20231215102707_initialdb.cs Initial commit 2024-09-28 14:58:36 -04:00
20231215102707_initialdb.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219074535_changesinaddwork.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219074535_changesinaddwork.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219110203_changesinaddwork2.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219110203_changesinaddwork2.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219112030_relationCreated.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219112030_relationCreated.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219120924_quoteschnages.cs Initial commit 2024-09-28 14:58:36 -04:00
20231219120924_quoteschnages.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231220093346_commentsdatabasechange.cs Initial commit 2024-09-28 14:58:36 -04:00
20231220093346_commentsdatabasechange.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20231222052903_templateupdated.cs Initial commit 2024-09-28 14:58:36 -04:00
20231222052903_templateupdated.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240105092602_commenttablechnage.cs Initial commit 2024-09-28 14:58:36 -04:00
20240105092602_commenttablechnage.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240105105652_lineitemchanges.cs Initial commit 2024-09-28 14:58:36 -04:00
20240105105652_lineitemchanges.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240115101513_forgetpasswordcodeadded.cs Initial commit 2024-09-28 14:58:36 -04:00
20240115101513_forgetpasswordcodeadded.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117092104_dropdowntablechange.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117092104_dropdowntablechange.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117093126_dropdowntablechange1.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117093126_dropdowntablechange1.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117093601_dropdowntablechange12.cs Initial commit 2024-09-28 14:58:36 -04:00
20240117093601_dropdowntablechange12.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20240122054453_changeinqoutesline.cs Initial commit 2024-09-28 14:58:36 -04:00
20240122054453_changeinqoutesline.Designer.cs Initial commit 2024-09-28 14:58:36 -04:00
20260416204109_SyncContactsAndModels.cs Add migration to sync Contacts table with model 2026-04-16 16:54:36 -04:00
20260416204109_SyncContactsAndModels.Designer.cs Add migration to sync Contacts table with model 2026-04-16 16:54:36 -04:00
20260416210833_AddLocationFields.cs Add LocationController with full CRUD and extended model 2026-04-16 17:09:59 -04:00
20260416210833_AddLocationFields.Designer.cs Add LocationController with full CRUD and extended model 2026-04-16 17:09:59 -04:00
20260416212330_AddExternalSyncFields.cs Add DynamoDB sync bridge for workorder-ingest pipeline 2026-04-16 17:29:52 -04:00
20260416212330_AddExternalSyncFields.Designer.cs Add DynamoDB sync bridge for workorder-ingest pipeline 2026-04-16 17:29:52 -04:00
20260416220656_AddCommentTypeAndAuditLog.cs Add comment types, audit logging, and WorkOrderAuditLog table 2026-04-16 18:09:57 -04:00
20260416220656_AddCommentTypeAndAuditLog.Designer.cs Add comment types, audit logging, and WorkOrderAuditLog table 2026-04-16 18:09:57 -04:00
20260416224015_AddInternalWONumber.cs Add InternalWONumber field with auto-generation 2026-04-16 18:42:58 -04:00
20260416224015_AddInternalWONumber.Designer.cs Add InternalWONumber field with auto-generation 2026-04-16 18:42:58 -04:00
20260417142453_AddDropdownOptionsAndWOFields.cs Add configurable dropdowns, new WO fields, and seed data 2026-04-17 10:40:38 -04:00
20260417142453_AddDropdownOptionsAndWOFields.Designer.cs Add configurable dropdowns, new WO fields, and seed data 2026-04-17 10:40:38 -04:00
20260417153405_AddVendorAndDispatch.cs Add vendor dispatch workflow backend 2026-04-17 11:37:35 -04:00
20260417153405_AddVendorAndDispatch.Designer.cs Add vendor dispatch workflow backend 2026-04-17 11:37:35 -04:00
20260417154641_AddDispatchScheduledDate.cs Add vendor scheduled date to dispatch workflow 2026-04-17 11:47:00 -04:00
20260417154641_AddDispatchScheduledDate.Designer.cs Add vendor scheduled date to dispatch workflow 2026-04-17 11:47:00 -04:00
20260417171152_AddDispatchNumberAndCommentDispatchId.cs Add dispatch detail modal backend + vendor reply sync 2026-04-17 14:01:03 -04:00
20260417171152_AddDispatchNumberAndCommentDispatchId.Designer.cs Add dispatch detail modal backend + vendor reply sync 2026-04-17 14:01:03 -04:00
20260417182910_AddTaskListTemplates.cs Add Task List Templates with CRUD controller 2026-04-17 14:57:18 -04:00
20260417182910_AddTaskListTemplates.Designer.cs Add Task List Templates with CRUD controller 2026-04-17 14:57:18 -04:00
20260417190743_MultiWODispatch.cs Add multi-WO dispatch support with junction table 2026-04-17 15:16:28 -04:00
20260417190743_MultiWODispatch.Designer.cs Add multi-WO dispatch support with junction table 2026-04-17 15:16:28 -04:00
20260417192012_AddDispatchChecklist.cs Add dispatch checklist items with template support 2026-04-17 15:28:52 -04:00
20260417192012_AddDispatchChecklist.Designer.cs Add dispatch checklist items with template support 2026-04-17 15:28:52 -04:00
20260417194438_AddDispatchSignoffs.cs Add dispatch sign-offs with signature capture 2026-04-17 15:51:20 -04:00
20260417194438_AddDispatchSignoffs.Designer.cs Add dispatch sign-offs with signature capture 2026-04-17 15:51:20 -04:00
20260417195316_AddDispatchVerification.cs Add dispatcher verification as final dispatch gate 2026-04-17 16:03:34 -04:00
20260417195316_AddDispatchVerification.Designer.cs Add dispatcher verification as final dispatch gate 2026-04-17 16:03:34 -04:00
20260420151445_AddVendorAccessToken.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
20260420151445_AddVendorAccessToken.Designer.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
20260420164708_AddDispatchUpliftRequest.cs Add NTE uplift workflow and vendor PO detail API 2026-04-20 13:25:56 -04:00
20260420164708_AddDispatchUpliftRequest.Designer.cs Add NTE uplift workflow and vendor PO detail API 2026-04-20 13:25:56 -04:00
20260624163145_Phase0_DomainFoundation.cs feat(work-orders): add EF config and Phase 0 migration 2026-07-02 09:17:59 -03:00
20260624163145_Phase0_DomainFoundation.Designer.cs feat(work-orders): add EF config and Phase 0 migration 2026-07-02 09:17:59 -03:00
20260624200000_Phase4_SearchIndexes.cs fix(work-orders): bound SiteCode/InternalWONumber so Phase4 indexes apply on SQL Server 2026-07-24 10:02:57 -03:00
20260624200000_Phase4_SearchIndexes.Designer.cs fix(work-orders): bound SiteCode/InternalWONumber so Phase4 indexes apply on SQL Server 2026-07-24 10:02:57 -03:00
20260625120000_Phase6_CompletionSlideOver.cs fix(migrations): make Phase6 completion slide-over migration idempotent 2026-07-17 10:36:32 -03:00
20260701120000_Phase1_BoardIndexes.cs fix(migrations): add Phase1 BoardIndexes Designer metadata for EF discovery 2026-07-10 11:27:43 -03:00
20260701120000_Phase1_BoardIndexes.Designer.cs fix(migrations): add Phase1 BoardIndexes Designer metadata for EF discovery 2026-07-10 11:27:43 -03:00
20260709170202_Phase5_DomainEvents.cs feat(work-orders): add Phase 5 scheduled domain events (WeekRolled) 2026-07-24 10:13:17 -03:00
20260709170202_Phase5_DomainEvents.Designer.cs fix(work-orders): add Phase5 DomainEvents Designer metadata 2026-07-24 10:14:47 -03:00
20260713120000_Phase7_ExternalWorkOrderIdUnique.cs fix(work-orders): satisfy producer contract review 2026-07-27 16:33:06 -03:00
20260715160000_WoServiceNotesStructuredFields.cs feat(work-orders): add structured service notes POC and vendor fields 2026-07-17 10:37:23 -03:00
20260715180000_WoFlagColor.cs feat(work-orders): add board flagColor with fixed palette 2026-07-17 10:37:24 -03:00
20260720220000_AddVendorDirectoryDetails.cs feat(vendors): add directory filters and details API (#25) 2026-07-23 15:55:47 +00:00
20260723194013_AddVendorCompanyAndAudit.cs feat(vendors): complete core vendor workflows 2026-07-23 17:02:40 -03:00
20260723220614_AddVendorRoadmapOperations.cs fix(vendors): address roadmap review findings 2026-07-24 11:49:57 -03:00
20260723220614_AddVendorRoadmapOperations.Designer.cs feat(vendors): complete operations roadmap backend 2026-07-23 19:18:06 -03:00
20260724234953_SH133_WorkOrderWebhookIngestion.cs feat: ingest signed procurement work-order webhooks 2026-07-24 21:03:50 -03:00
20260724234953_SH133_WorkOrderWebhookIngestion.Designer.cs feat: ingest signed procurement work-order webhooks 2026-07-24 21:03:50 -03:00
20260725005530_SH133_WorkOrderReconciliation.cs feat: complete SH-133 procurement reconciliation 2026-07-24 22:13:25 -03:00
20260725005530_SH133_WorkOrderReconciliation.Designer.cs feat: complete SH-133 procurement reconciliation 2026-07-24 22:13:25 -03:00
20260730150000_WoIsAddOn.cs feat(work-orders): persist IsAddOn frozen at create (SH-126) 2026-08-13 13:30:09 -03:00
20260731230547_SH198_VendorCompanyNotesAndRowVersion.cs feat(vendors): add company roster management (SH-198) (#48) 2026-08-03 17:53:24 -03:00
20260731230547_SH198_VendorCompanyNotesAndRowVersion.Designer.cs feat(vendors): add company roster management (SH-198) (#48) 2026-08-03 17:53:24 -03:00
20260806123838_SH221_WorkOrderAccountScope.cs !feat(work-orders): enforce media account scope and AddMedia freshness [SH-221] 2026-08-06 09:47:34 -03:00
20260806123838_SH221_WorkOrderAccountScope.Designer.cs !feat(work-orders): enforce media account scope and AddMedia freshness [SH-221] 2026-08-06 09:47:34 -03:00
20260810183356_SH101_UpliftApprovalWorkflow.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
20260810183356_SH101_UpliftApprovalWorkflow.Designer.cs feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
20260813160000_SH218_WorkOrderAdditionalContacts.cs feat(work-orders): persist additionalContacts on create, board GET and PATCH (SH-218) 2026-08-13 16:11:36 -03:00
20260813193000_SH121_BoardSearchFacets.cs fix(work-orders): name Schedule On in PastDueStatusBlocked and register SH-121 no-op 2026-08-18 09:19:27 -03:00
20260818150533_SH249_TradesVocabulary.cs feat(vendors): server-owned canonical trades vocabulary for SH-249 2026-08-18 12:11:13 -03:00
20260818150533_SH249_TradesVocabulary.Designer.cs feat(vendors): server-owned canonical trades vocabulary for SH-249 2026-08-18 12:11:13 -03:00
20260820150000_SH247_CanonicalTradeTaxonomy.cs fix: align vendor trades with confirmed taxonomy 2026-08-20 11:44:07 -03:00
20260824150000_SH117_AvetaRequired.cs feat(work-orders): persist avetaRequired on board create, patch, and search 2026-08-24 15:14:31 -03:00
20260826120000_SH221_LocationAccountScope.cs fix(work-orders): keep location account server-owned and forward create cancellation 2026-08-26 10:00:02 -03:00
20260910143000_WorkOrderCompletionSnapshot.cs feat(work-orders): capture Site/Vendor/POC snapshot on Completed 2026-09-10 15:46:25 -03:00
20260915002525_SH138_SiteContacts.cs feat(locations): manage ordered site contacts 2026-09-15 19:03:54 -03:00
20260915002525_SH138_SiteContacts.Designer.cs feat(locations): manage ordered site contacts 2026-09-15 19:03:54 -03:00
20260916140128_SH278_VendorCompanyArea.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
20260916140128_SH278_VendorCompanyArea.Designer.cs feat(vendors): add admin-assigned vendor company Area 2026-09-16 11:34:45 -03:00
20260916185443_SH303_ServicesRegistry.cs feat(services): add global services registry 2026-09-16 17:07:59 -03:00
20260916185443_SH303_ServicesRegistry.Designer.cs feat(services): add global services registry 2026-09-16 17:07:59 -03:00
20260916201532_SH327_UserPermissionOverrides.cs feat(permissions): add team member permission policy foundation (SH-327) 2026-09-16 17:48:37 -03:00
20260916201532_SH327_UserPermissionOverrides.Designer.cs feat(permissions): add team member permission policy foundation (SH-327) 2026-09-16 17:48:37 -03:00
20260916204606_SH187_WorkOrderServiceLink.cs feat(work-orders): link service selections to registry 2026-09-16 18:02:57 -03:00
20260916204606_SH187_WorkOrderServiceLink.Designer.cs feat(work-orders): link service selections to registry 2026-09-16 18:02:57 -03:00
20260916211933_SH329_PrimaryAccountOwner.cs feat(permissions): protect configured account owner (SH-329) 2026-09-16 18:26:20 -03:00
20260916211933_SH329_PrimaryAccountOwner.Designer.cs feat(permissions): protect configured account owner (SH-329) 2026-09-16 18:26:20 -03:00
20260916220437_SH325_PendingTeamMember.cs feat(team-members): support pending member creation (SH-325) 2026-09-16 19:14:36 -03:00
20260916220437_SH325_PendingTeamMember.Designer.cs feat(team-members): support pending member creation (SH-325) 2026-09-16 19:14:36 -03:00
20260925001752_SH393_BackfillBoardCreatedDispatchWorkOrder.cs fix(uplifts): resolve work-order uplifts through owned dispatches (SH-393) 2026-09-24 21:22:13 -03:00
20260925001752_SH393_BackfillBoardCreatedDispatchWorkOrder.Designer.cs fix(uplifts): resolve work-order uplifts through owned dispatches (SH-393) 2026-09-24 21:22:13 -03:00
20260925135234_CompletionDocTemplateProcedures.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
20260925135234_CompletionDocTemplateProcedures.Designer.cs feat(completion-templates): author templates with safety note and ordered procedures 2026-09-25 11:00:22 -03:00
20260925151249_HashPasswordResetCodes.cs fix(auth): harden password reset codes against guessing and email enumeration 2026-09-25 12:21:29 -03:00
20260925151249_HashPasswordResetCodes.Designer.cs fix(auth): harden password reset codes against guessing and email enumeration 2026-09-25 12:21:29 -03:00
ApplicationDbContextModelSnapshot.cs fix(auth): harden password reset codes against guessing and email enumeration 2026-09-25 12:21:29 -03:00