53 lines
1.1 KiB
TypeScript
53 lines
1.1 KiB
TypeScript
|
import { Check, Column, CreateDateColumn, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
|
||
|
import { Equipment } from "./equipment/equipment";
|
||
|
import { Wearable } from "./wearable/wearable";
|
||
|
import { Vehicle } from "./vehicle/vehicle";
|
||
|
|
||
|
@Entity()
|
||
|
export class DamageReport {
|
||
|
@PrimaryGeneratedColumn("uuid")
|
||
|
id: string;
|
||
|
|
||
|
@CreateDateColumn()
|
||
|
reported: Date;
|
||
|
|
||
|
@Column({ type: "varchar", length: 255 })
|
||
|
status: string;
|
||
|
|
||
|
@Column({ type: "boolean", default: false })
|
||
|
done: boolean;
|
||
|
|
||
|
@Column({ type: "text" })
|
||
|
description: string;
|
||
|
|
||
|
@Column({ nullable: true })
|
||
|
equipmentId: string;
|
||
|
|
||
|
@Column({ nullable: true })
|
||
|
vehicleId: string;
|
||
|
|
||
|
@Column({ nullable: true })
|
||
|
wearableId: string;
|
||
|
|
||
|
@ManyToOne(() => Equipment, {
|
||
|
nullable: true,
|
||
|
onDelete: "CASCADE",
|
||
|
onUpdate: "RESTRICT",
|
||
|
})
|
||
|
equipment: Equipment;
|
||
|
|
||
|
@ManyToOne(() => Vehicle, {
|
||
|
nullable: true,
|
||
|
onDelete: "CASCADE",
|
||
|
onUpdate: "RESTRICT",
|
||
|
})
|
||
|
vehicle: Vehicle;
|
||
|
|
||
|
@ManyToOne(() => Wearable, {
|
||
|
nullable: true,
|
||
|
onDelete: "CASCADE",
|
||
|
onUpdate: "RESTRICT",
|
||
|
})
|
||
|
wearable: Wearable;
|
||
|
}
|