add maintenance model, factory and service

This commit is contained in:
Julian Krauser 2025-05-28 22:51:17 +02:00
parent cb60d61773
commit 0f6401953f
11 changed files with 276 additions and 4 deletions

View file

@ -14,6 +14,51 @@ export const damage_report_table = new Table({
{ name: "equipmentId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") },
{ name: "vehicleId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") },
{ name: "wearableId", ...getTypeByORM("uuid", true), default: getDefaultByORM("null") },
{ name: "maintenanceId", ...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",
}),
new TableForeignKey({
columnNames: ["maintenanceId"],
referencedColumnNames: ["id"],
referencedTableName: "maintenance",
onDelete: "SET NULL",
onUpdate: "RESTRICT",
}),
],
});
export const maintenance_table = new Table({
name: "maintenance",
columns: [
{ name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary },
{ name: "createdAt", ...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({