import { Table, TableForeignKey } from "typeorm"; import { getTypeByORM, isUUIDPrimary, getDefaultByORM } from "../ormHelper"; export const damage_report_table = new Table({ name: "damage_report", columns: [ { name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary }, { name: "reportedAt", ...getTypeByORM("date"), default: getDefaultByORM("currentTimestamp") }, { name: "status", ...getTypeByORM("varchar") }, { name: "done", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) }, { name: "description", ...getTypeByORM("text") }, { name: "equipmentId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") }, { name: "vehicleId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") }, { name: "wearableId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") }, ], foreignKeys: [ new TableForeignKey({ columnNames: ["equipmentId"], referencedColumnNames: ["id"], referencedTableName: "equipment", onDelete: "CASCADE", onUpdate: "RESTRICT", }), new TableForeignKey({ columnNames: ["vehicleId"], referencedColumnNames: ["id"], referencedTableName: "vehicle", onDelete: "CASCADE", onUpdate: "RESTRICT", }), new TableForeignKey({ columnNames: ["wearableId"], referencedColumnNames: ["id"], referencedTableName: "wearable", onDelete: "CASCADE", onUpdate: "RESTRICT", }), ], });