mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 08:20:58 +00:00
34 lines
1004 B
TypeScript
34 lines
1004 B
TypeScript
import { BaseEntity } from '@edr/api-common';
|
|
import { Column, Entity, Index } from 'typeorm';
|
|
|
|
export const RESCHEDULE_TRIGGERS = [
|
|
'GOVERNMENT_PREEMPT',
|
|
'TRAIN_MAINTENANCE',
|
|
'MANUAL',
|
|
'CAPACITY_REBALANCE',
|
|
] as const;
|
|
|
|
export type RescheduleTrigger = (typeof RESCHEDULE_TRIGGERS)[number];
|
|
|
|
@Entity({ schema: 'freight', name: 'scheduling_events' })
|
|
@Index(['trainScheduleId'])
|
|
export class SchedulingEvent extends BaseEntity {
|
|
@Column({ name: 'train_schedule_id', type: 'uuid' })
|
|
trainScheduleId!: string;
|
|
|
|
@Column({ name: 'trigger', type: 'varchar', length: 40 })
|
|
trigger!: RescheduleTrigger;
|
|
|
|
@Column({ name: 'actor_user_id', type: 'uuid', nullable: true })
|
|
actorUserId?: string | null;
|
|
|
|
@Column({ name: 'reason', type: 'text', nullable: true })
|
|
reason?: string | null;
|
|
|
|
@Column({ name: 'plan_snapshot', type: 'jsonb' })
|
|
planSnapshot!: Record<string, unknown>;
|
|
|
|
@Column({ name: 'displaced_booking_ids', type: 'jsonb', default: '[]' })
|
|
displacedBookingIds!: string[];
|
|
}
|