shoc-backend/Data.SeaHavenIndustries
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
..
Auth Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
Migrations Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
Models Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
Data.SeaHavenIndustries.csproj Initial commit 2024-09-28 14:58:36 -04:00