add new: queue monitoring get by slug

This commit is contained in:
avicenan
2026-02-19 08:23:12 +07:00
parent f1d8cbe539
commit cb9fa388d4
2 changed files with 28 additions and 0 deletions

View File

@ -73,6 +73,33 @@ export class QueueMonitoringController {
}
}
static async detailBySlug(req: Request, res: Response, next: NextFunction): Promise<void | Response> {
/*
#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"),
});
const param: any = await schema.validateAsync(req.params);
const queueMonitoring = await QueueMonitoringModel.list({ "QueueMonitoring.slug": param.slug }).then((q) =>
q.leftJoinAndSelect("QueueMonitoring.rooms", "rooms").leftJoinAndSelect("rooms.department", "department").getOne()
);
if (!queueMonitoring) throw { message: "Queue Monitoring Not Found" };
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_view, queueMonitoring);
} catch (e: unknown) {
log.error(e);
const err = e as Error;
return ReturnHelper.errorResponse(res, 400, 401, Language.lang.failed_not_found, err.message);
}
}
static async create(req: Request, res: Response, next: NextFunction): Promise<void | Response> {
/*
#swagger.tags = ['Queue Monitoring']