mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-07 15:25:45 +00:00
- Added TrainCrewAssignment module with controller and service for managing crew assignments. - Integrated TrainCrewAssignmentService into TrainSchedulingService to ensure crew readiness before train dispatch. - Updated TrainScheduling module to include TrainCrewModule for dependency injection. - Introduced new permissions for assigning train crew in freight permissions registry. - Enhanced front-end ScheduleCrewPage to allow assignment of crew members to train schedules, including validation and UI for adding/removing drivers and support crew. - Created trainCrewAssignment.service to handle API interactions for crew assignments.
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
/**
|
|
* Drop `crewing_case` from train crew assignments.
|
|
*
|
|
* The column encoded the two fixed driver pairing cases of ITLMS Rolling Stock
|
|
* §2 (2+2 Ethiopian/Djiboutian, or 3 Ethiopian). Operations crew each run to
|
|
* its own need instead — any number of drivers, each carrying their own segment
|
|
* and duty role — so the case has nothing left to select and the column no
|
|
* longer has a meaning. The §1.1 territorial boundary is unaffected: it is a
|
|
* per-driver rule and still enforced.
|
|
*/
|
|
export class DropCrewingCase3870000000000 implements MigrationInterface {
|
|
name = 'DropCrewingCase3870000000000';
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.train_crew_assignments
|
|
DROP CONSTRAINT IF EXISTS chk_crew_assignment_case
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.train_crew_assignments
|
|
DROP COLUMN IF EXISTS crewing_case
|
|
`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.train_crew_assignments
|
|
ADD COLUMN IF NOT EXISTS crewing_case varchar(8)
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.train_crew_assignments
|
|
ADD CONSTRAINT chk_crew_assignment_case CHECK (
|
|
crewing_case IS NULL OR crewing_case IN ('CASE_1','CASE_2')
|
|
)
|
|
`);
|
|
}
|
|
}
|