From 4a453afe16de85fc09bf2c5d8917a1325517a1e9 Mon Sep 17 00:00:00 2001 From: avicenan Date: Wed, 18 Feb 2026 11:45:03 +0700 Subject: [PATCH] add new entity: queue monitoring --- src/entity/queue_monitoring.ts | 57 ++++++++++++++++++++++++++++++++++ src/schema/public.ts | 1 + 2 files changed, 58 insertions(+) create mode 100644 src/entity/queue_monitoring.ts diff --git a/src/entity/queue_monitoring.ts b/src/entity/queue_monitoring.ts new file mode 100644 index 0000000..25e47ae --- /dev/null +++ b/src/entity/queue_monitoring.ts @@ -0,0 +1,57 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + DeleteDateColumn, + ManyToMany, + JoinTable, +} from 'typeorm'; + +import { Status } from '../types/status'; +import { Room } from './room'; + +@Entity('queue_monitorings') +export class QueueMonitoring { + @PrimaryGeneratedColumn('uuid') + id: string; + + @Column({ + type: 'text', + nullable: false, + }) + slug: string; + + @ManyToMany(() => Room, { onDelete: 'NO ACTION' }) + @JoinTable({ + name: 'queue_monitoring_rooms', + joinColumn: { name: 'queue_monitoring_id', referencedColumnName: 'id' }, + inverseJoinColumn: { name: 'room_id', referencedColumnName: 'id' }, + }) + rooms: Room[]; + + @Column({ + nullable: false, + length: 64, + }) + status: Status; + + @CreateDateColumn() + created_at: Date; + + @Column({ nullable: true, length: 256 }) + created_by: string; + + @UpdateDateColumn({ nullable: true }) + updated_at: Date; + + @Column({ nullable: true, length: 256 }) + updated_by: string; + + @DeleteDateColumn({ nullable: true }) + deleted_at: Date; + + @Column({ nullable: true, length: 256 }) + deleted_by: string; +} diff --git a/src/schema/public.ts b/src/schema/public.ts index f8244bb..16da3d2 100644 --- a/src/schema/public.ts +++ b/src/schema/public.ts @@ -22,6 +22,7 @@ export * from "../entity/department" export * from "../entity/doctor_schedule" export * from "../entity/measurement_unit" export * from "../entity/reference_range" +export * from "../entity/queue_monitoring" export * from "../types/action"; export * from "../types/error";