import { BaseEntity } from "@edr/api-common";
import { Freight } from "@edr/types";
import { Column, Entity } from "typeorm";

@Entity({ name: "trains" })
export class Train extends BaseEntity {
  @Column({ name: "code", type: "varchar", length: 32, unique: true })
  code!: string;

  @Column({ name: "capacity_tons", type: "numeric", precision: 10, scale: 2 })
  capacityTons!: number;

  @Column({
    name: "status",
    type: "enum",
    enum: Freight.TrainStatus,
    default: Freight.TrainStatus.Available,
  })
  status!: Freight.TrainStatus;

  @Column({ name: "notes", type: "text", nullable: true })
  notes?: string | null;
}
