From e1f0c286d48c7c9a13866afdf941dd25c100ad7a Mon Sep 17 00:00:00 2001 From: "fazri.is" Date: Fri, 28 Nov 2025 11:02:19 +0700 Subject: [PATCH] update --- src/entity/trx_maintenance_groups.ts | 48 ++++++++++++++++++++++++++++ src/entity/trx_maintenance_slas.ts | 6 ++-- src/entity/trx_maintenances.ts | 5 +++ src/schema/trx.ts | 1 + 4 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 src/entity/trx_maintenance_groups.ts diff --git a/src/entity/trx_maintenance_groups.ts b/src/entity/trx_maintenance_groups.ts new file mode 100644 index 0000000..d8d23dc --- /dev/null +++ b/src/entity/trx_maintenance_groups.ts @@ -0,0 +1,48 @@ +import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { TrxMaintenancePosition, TrxMaintenanceStatus } from "../types/trx"; +import { TrxMaintenance } from "./trx_maintenances"; +import { Status } from "../types/status"; + +@Entity("trx_maintenance_groups", { schema: "trx" }) +export class TrxMaintenanceGroup { + @PrimaryGeneratedColumn("uuid") + id: string; + + @Column({ + nullable: true, + length: 256, + }) + code: string; + + @Column({ + nullable: true, + type: "float8", + }) + average_balance: number; + + @Column({ + length: 256, + }) + status: Status; + + @Column() + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @Column({ nullable: true }) + @UpdateDateColumn() + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @Column({ nullable: true }) + @DeleteDateColumn() + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/entity/trx_maintenance_slas.ts b/src/entity/trx_maintenance_slas.ts index 33c7013..621c8eb 100644 --- a/src/entity/trx_maintenance_slas.ts +++ b/src/entity/trx_maintenance_slas.ts @@ -1,15 +1,15 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; import { TrxMaintenancePosition, TrxMaintenanceStatus } from "../types/trx"; -import { TrxMaintenance } from "./trx_maintenances"; +import { TrxMaintenanceGroup } from "./trx_maintenance_groups"; @Entity("trx_maintenance_slas", { schema: "trx" }) export class TrxMaintenanceSla { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => TrxMaintenance, { onDelete: "NO ACTION" }) + @ManyToOne(() => TrxMaintenanceGroup, { onDelete: "NO ACTION" }) @JoinColumn() - maintenance: TrxMaintenance; + maintenance_group: TrxMaintenanceGroup; @Column({ length: 256, diff --git a/src/entity/trx_maintenances.ts b/src/entity/trx_maintenances.ts index a55fa58..620b5ca 100644 --- a/src/entity/trx_maintenances.ts +++ b/src/entity/trx_maintenances.ts @@ -1,6 +1,7 @@ import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinTable, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; import { TrxMaintenancePosition, TrxMaintenanceRemark, TrxMaintenanceStatus, TrxMaintenanceType } from "../types/trx"; import { TrxCustomer } from "./trx_customers"; +import { TrxMaintenanceGroup } from "./trx_maintenance_groups"; @Entity("trx_maintenances", { schema: "trx" }) export class TrxMaintenance { @@ -14,6 +15,10 @@ export class TrxMaintenance { }) code: string; + @ManyToOne(() => TrxMaintenanceGroup, { onDelete: "NO ACTION" }) + @JoinTable() + maintenance_group: TrxMaintenanceGroup; + @ManyToOne(() => TrxCustomer, { onDelete: "RESTRICT" }) @JoinTable() customer: TrxCustomer; diff --git a/src/schema/trx.ts b/src/schema/trx.ts index fea5985..a1677de 100644 --- a/src/schema/trx.ts +++ b/src/schema/trx.ts @@ -25,4 +25,5 @@ export * from "../entity/trx_email_logs"; export * from "../entity/trx_maintenances"; export * from "../entity/trx_maintenance_details"; export * from "../entity/trx_maintenance_slas"; +export * from "../entity/trx_maintenance_groups"; export * from "../types/trx";