shoc-backend/Api.SeaHavenIndustries/Controllers
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
..
AccountController.cs Add lowercase route aliases for all controllers 2026-04-16 17:32:28 -04:00
AssetController.cs fix 2026-03-30 06:49:40 -05:00
AuthenticationController.cs Fix login null check order and strengthen password reset code 2026-04-16 16:33:09 -04:00
CommonController.cs Add null safety checks across all API controllers 2026-04-16 16:33:42 -04:00
ContactController.cs Add lowercase route aliases for all controllers 2026-04-16 17:32:28 -04:00
DashboardController.cs Add DashboardController with Stats endpoint 2026-04-16 19:25:42 -04:00
DispatchPublicController.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
DropdownOptionsController.cs Add configurable dropdowns, new WO fields, and seed data 2026-04-17 10:40:38 -04:00
EmployeeController.cs Add lowercase route aliases for all controllers 2026-04-16 17:32:28 -04:00
FollowUpController.cs Add lowercase route aliases for all controllers 2026-04-16 17:32:28 -04:00
LocationController.cs Handle string-to-int AccountId conversion in Location DTOs 2026-04-16 17:15:28 -04:00
PMScheduleController.cs Add lowercase route aliases for all controllers 2026-04-16 17:32:28 -04:00
QuotesController.cs Fix pagination to use database-side Skip/Take instead of loading all rows 2026-04-16 16:54:18 -04:00
SettingsController.cs Fix pagination to use database-side Skip/Take instead of loading all rows 2026-04-16 16:54:18 -04:00
SyncController.cs Add dispatch detail modal backend + vendor reply sync 2026-04-17 14:01:03 -04:00
TaskListTemplateController.cs Add Task List Templates with CRUD controller 2026-04-17 14:57:18 -04:00
UserController.cs Add null safety checks across all API controllers 2026-04-16 16:33:42 -04:00
VendorController.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
VendorPortalController.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00
WorkOrderController.cs Add vendor portal with token-based authentication 2026-04-20 12:01:53 -04:00