New React Backend Repository
Find a file
Adam Moussa 73be673444 Add vendor portal with token-based authentication
- VendorAccessToken model + unique-index migration; TokenLifetimeDays config
- VendorPortalTokenService: CSPRNG token generation, rotation, revocation
- VendorPortalController: public portal API guarded by X-Vendor-Token header;
  dispatches list/detail, accept, vendor status transitions, cancel request,
  checklist updates, signoffs (vendor + customer), comments with dispatcher
  attribution via AspNetUsers join
- VendorController: portal-token admin endpoints (get / rotate / revoke)
- WorkOrderController: dispatch email now uses vendor portal URL and HTML-encodes
  user fields; AddDispatchComment now stores CommentType='dispatcher' with the
  SHOC user's name so portal can attribute the author
- DispatchPublicController: deprecated per-dispatch GET accept flow returns a
  static 'link no longer active' page (no state mutation)
2026-04-20 12:01:53 -04:00
Api.SeaHavenIndustries Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
Data.SeaHavenIndustries Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
SeaHavenIndustries Fix Contacts.Name references throughout Blazor project 2026-04-16 16:54:28 -04:00
.gitattributes Initial commit 2024-09-28 14:58:36 -04:00
.gitignore Add project TODO tracking deferred work items 2026-04-17 13:08:12 -04:00
CALENDAR_MODULE_COMPLETE.cs fix 2026-03-30 06:49:40 -05:00
SeaHavenIndustries.sln Initial commit 2024-09-28 14:58:36 -04:00
TODO.md Update TODO with completed items and vendor portal next steps 2026-04-17 16:33:17 -04:00