feat(transit-agents): give transit agents a portal login

Optional IAM account per agent — nullable, nothing backfilled, so
roster-only rows keep working. Staff invite existing ones; new ones get
an account when an email is supplied. Activation reuses the shipping-line
link path. SMS reachability widens to Djibouti.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marshal
2026-08-29 07:40:07 +00:00
parent 7e163088d9
commit 978f1889c6
18 changed files with 3828 additions and 22 deletions

View File

@@ -35,6 +35,7 @@ import { ConsignmentsModule } from "./modules/consignments/consignments.module";
import { LocomotivesModule } from "./modules/locomotives/locomotives.module";
import { TruckTypesModule } from "./modules/truck-types/truck-types.module";
import { TransitAgentsModule } from "./modules/transit-agents/transit-agents.module";
import { TransitAssignmentsModule } from "./modules/transit-assignments/transit-assignments.module";
import { WagonTypesModule } from "./modules/wagon-types/wagon-types.module";
import { TrainSetsModule } from "./modules/train-sets/train-sets.module";
import { TrainSchedulesModule } from "./modules/train-schedules/train-schedules.module";
@@ -205,6 +206,7 @@ if (!process.env.APPLICATION_NAME) {
LocomotivesModule,
TruckTypesModule,
TransitAgentsModule,
TransitAssignmentsModule,
WagonTypesModule,
TrainSetsModule,
TrainSchedulesModule,