mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 06:00:55 +00:00
55 lines
2.2 KiB
TypeScript
55 lines
2.2 KiB
TypeScript
import { BaseEntity } from '@edr/api-common';
|
|
import { Column, Entity, Index, JoinColumn, ManyToOne } from 'typeorm';
|
|
|
|
import { BookingContainer } from '../../bookings/entities/booking-container.entity';
|
|
import { Container } from '../../container-management/entities/container.entity';
|
|
import { ContainerType } from '../../rule-engine/entities/container-type.entity';
|
|
import { WagonBookingAllocation } from './wagon-booking-allocation.entity';
|
|
|
|
@Entity({ schema: 'freight', name: 'wagon_allocation_container_items' })
|
|
@Index(['wagonBookingAllocationId'])
|
|
export class WagonAllocationContainerItem extends BaseEntity {
|
|
@Column({ name: 'wagon_booking_allocation_id', type: 'uuid' })
|
|
wagonBookingAllocationId!: string;
|
|
|
|
@ManyToOne(() => WagonBookingAllocation, { onDelete: 'CASCADE' })
|
|
@JoinColumn({ name: 'wagon_booking_allocation_id' })
|
|
allocation?: WagonBookingAllocation;
|
|
|
|
@Column({ name: 'booking_container_id', type: 'uuid', nullable: true })
|
|
bookingContainerId?: string | null;
|
|
|
|
@ManyToOne(() => BookingContainer, { nullable: true, onDelete: 'SET NULL' })
|
|
@JoinColumn({ name: 'booking_container_id' })
|
|
bookingContainer?: BookingContainer | null;
|
|
|
|
@Column({ name: 'container_id', type: 'uuid', nullable: true })
|
|
containerId?: string | null;
|
|
|
|
@ManyToOne(() => Container, { nullable: true, onDelete: 'SET NULL' })
|
|
@JoinColumn({ name: 'container_id' })
|
|
container?: Container | null;
|
|
|
|
@Column({ name: 'container_number', type: 'varchar', length: 64, nullable: true })
|
|
containerNumber?: string | null;
|
|
|
|
@Column({ name: 'container_type_id', type: 'uuid', nullable: true })
|
|
containerTypeId?: string | null;
|
|
|
|
@ManyToOne(() => ContainerType, { nullable: true })
|
|
@JoinColumn({ name: 'container_type_id' })
|
|
containerType?: ContainerType | null;
|
|
|
|
@Column({ name: 'position_on_wagon', type: 'smallint', nullable: true })
|
|
positionOnWagon?: number | null;
|
|
|
|
@Column({ name: 'seal_number', type: 'varchar', length: 64, nullable: true })
|
|
sealNumber?: string | null;
|
|
|
|
@Column({ name: 'chassis_number', type: 'varchar', length: 64, nullable: true })
|
|
chassisNumber?: string | null;
|
|
|
|
@Column({ name: 'gross_weight_tons', type: 'numeric', precision: 10, scale: 3, nullable: true })
|
|
grossWeightTons?: number | null;
|
|
}
|