import { BaseEntity } from '@edr/api-common'; import { Column, Entity, Index, JoinColumn, ManyToOne } from 'typeorm'; import { Booking } from '../../bookings/entities/booking.entity'; import { TrainSetWagon } from '../../train-sets/entities/train-set-wagon.entity'; @Entity({ schema: 'freight', name: 'wagon_booking_allocations' }) @Index(['trainSetWagonId', 'bookingId']) export class WagonBookingAllocation extends BaseEntity { @Column({ name: 'train_set_wagon_id', type: 'uuid' }) trainSetWagonId!: string; @ManyToOne(() => TrainSetWagon, (wagon) => wagon.allocations, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'train_set_wagon_id' }) trainSetWagon?: TrainSetWagon; @Column({ name: 'booking_id', type: 'uuid' }) bookingId!: string; @ManyToOne(() => Booking) @JoinColumn({ name: 'booking_id' }) booking?: Booking; @Column({ name: 'allocated_weight_tons', type: 'numeric', precision: 10, scale: 3 }) allocatedWeightTons!: number; }