From 1c5b3a4938e99023cf079680dc78095d8cf080b7 Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Thu, 30 Apr 2026 14:38:36 +0700 Subject: [PATCH] update --- src/controllers/queue_monitoring.ts | 89 +++++++++++++++-------------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/src/controllers/queue_monitoring.ts b/src/controllers/queue_monitoring.ts index 1cb0434..5538b9f 100644 --- a/src/controllers/queue_monitoring.ts +++ b/src/controllers/queue_monitoring.ts @@ -19,15 +19,15 @@ const log: Logger = new Logger({ export class QueueMonitoringController { static async list(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['filter'] = { description: 'Filter: plain text or JSON object (status, slug, etc.)', in: 'query', type: 'string' } - #swagger.parameters['limit'] = { in: 'query', required: true, type: 'number' } - #swagger.parameters['page'] = { in: 'query', required: true, type: 'number' } - #swagger.parameters['with_deleted'] = { in: 'query', required: true, type: 'boolean' } - #swagger.parameters['order_field'] = { in: 'query', required: true, type: 'string' } - #swagger.parameters['order_direction'] = { in: 'query', required: true, schema: { '@enum': ['ASC', 'DESC'] } } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['filter'] = { description: 'Filter: plain text or JSON object (status, slug, etc.)', in: 'query', type: 'string' } + #swagger.parameters['limit'] = { in: 'query', required: true, type: 'number' } + #swagger.parameters['page'] = { in: 'query', required: true, type: 'number' } + #swagger.parameters['with_deleted'] = { in: 'query', required: true, type: 'boolean' } + #swagger.parameters['order_field'] = { in: 'query', required: true, type: 'string' } + #swagger.parameters['order_direction'] = { in: 'query', required: true, schema: { '@enum': ['ASC', 'DESC'] } } + */ try { const schema = Joi.object().keys({ filter: Joi.string().allow("").optional().label("Filter"), @@ -92,10 +92,10 @@ export class QueueMonitoringController { static async detailBySlug(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['slug'] = { in: 'path', type: 'string' } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['slug'] = { in: 'path', type: 'string' } + */ try { const schema = Joi.object().keys({ slug: Joi.string().required().label("Queue Monitoring Slug"), @@ -193,12 +193,12 @@ export class QueueMonitoringController { (queueMonitoring as any).currentQueue = latestOnGoing ? { - room: roomIdToRoomObj[latestOnGoing.roomId]?.room || null, - id: latestOnGoing.id, - qeue_number: latestOnGoing.qeue_number, - registration_status: latestOnGoing.registration_status, - fullname_patient: latestOnGoing.fullname_patient, - } + room: roomIdToRoomObj[latestOnGoing.roomId]?.room || null, + id: latestOnGoing.id, + qeue_number: latestOnGoing.qeue_number, + registration_status: latestOnGoing.registration_status, + fullname_patient: latestOnGoing.fullname_patient, + } : null; } catch (queryError: any) { log.warn(`Failed to fetch queue data from emr.emr_registration_outpatient: ${queryError.message}`); @@ -224,10 +224,10 @@ export class QueueMonitoringController { static async create(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.requestBody = { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/queueMonitoring" } } } } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.requestBody = { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/queueMonitoring" } } } } + */ const queryRunner = OrmHelper.DB.createQueryRunner(); await queryRunner.startTransaction(); try { @@ -249,7 +249,12 @@ export class QueueMonitoringController { await queryRunner.manager.save(queueMonitoring); if (param.room_ids && param.room_ids.length > 0) { - await queryRunner.manager.getRepository(QueueMonitoringRooms).createQueryBuilder("qmr").delete().from(QueueMonitoringRooms).where('qmr."queueMonitoringId" = :id', { id: queueMonitoring.id }).execute(); + await queryRunner.manager.getRepository(QueueMonitoringRooms) + .createQueryBuilder() + .delete() + .from(QueueMonitoringRooms) + .where('"id" = :id', { id: queueMonitoring.id }) + .execute(); for (const roomId of param.room_ids) { const room = await RoomModel.list({ id: roomId }).then((q) => q.getOne()); @@ -280,10 +285,10 @@ export class QueueMonitoringController { static async detail(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['id'] = { in: 'path', type: 'string' } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['id'] = { in: 'path', type: 'string' } + */ try { const schema = Joi.object().keys({ id: Joi.string().uuid().required().label("Queue Monitoring Id"), @@ -322,11 +327,11 @@ export class QueueMonitoringController { static async update(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['id'] = { in: 'path', type: 'string' } - #swagger.requestBody = { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/queueMonitoring" } } } } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['id'] = { in: 'path', type: 'string' } + #swagger.requestBody = { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/queueMonitoring" } } } } + */ const queryRunner = OrmHelper.DB.createQueryRunner(); await queryRunner.startTransaction(); @@ -391,11 +396,11 @@ export class QueueMonitoringController { static async delete(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['id'] = { in: 'path', required: true, type: 'string' } - #swagger.parameters['hard'] = { in: 'path', description: 'Is Hard Delete', required: false, type: 'boolean' } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['id'] = { in: 'path', required: true, type: 'string' } + #swagger.parameters['hard'] = { in: 'path', description: 'Is Hard Delete', required: false, type: 'boolean' } + */ try { const schema = Joi.object().keys({ id: Joi.string().uuid().required().label("ID"), @@ -433,10 +438,10 @@ export class QueueMonitoringController { static async restore(req: Request, res: Response, next: NextFunction): Promise { /* - #swagger.tags = ['Queue Monitoring'] - #swagger.security = [{ "bearerAuth": [] }] - #swagger.parameters['id'] = { in: 'path', required: true, type: 'string' } - */ + #swagger.tags = ['Queue Monitoring'] + #swagger.security = [{ "bearerAuth": [] }] + #swagger.parameters['id'] = { in: 'path', required: true, type: 'string' } + */ try { const schema = Joi.object().keys({ id: Joi.string().uuid().required().label("ID"),