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