This commit is contained in:
2025-11-28 11:02:19 +07:00
parent 5a49bbba53
commit e1f0c286d4
4 changed files with 57 additions and 3 deletions

View File

@ -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;
}

View File

@ -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,

View File

@ -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;

View File

@ -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";