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> { static async create(req: Request, res: Response, next: NextFunction): Promise<void | Response> {
/* /*
#swagger.tags = ['Queue Monitoring'] #swagger.tags = ['Queue Monitoring']

View File

@ -180,6 +180,7 @@ export class RoutePrivate {
app.get('/api/queue-monitoring/list', QueueMonitoringController.list) app.get('/api/queue-monitoring/list', QueueMonitoringController.list)
app.post('/api/queue-monitoring/create', QueueMonitoringController.create) app.post('/api/queue-monitoring/create', QueueMonitoringController.create)
app.get('/api/queue-monitoring/detail/:id', QueueMonitoringController.detail) app.get('/api/queue-monitoring/detail/:id', QueueMonitoringController.detail)
app.get('/api/queue-monitoring/:slug', QueueMonitoringController.detailBySlug)
app.put('/api/queue-monitoring/update/:id', QueueMonitoringController.update) app.put('/api/queue-monitoring/update/:id', QueueMonitoringController.update)
app.delete('/api/queue-monitoring/delete/:id/:hard', QueueMonitoringController.delete) app.delete('/api/queue-monitoring/delete/:id/:hard', QueueMonitoringController.delete)
app.put('/api/queue-monitoring/restore/:id', QueueMonitoringController.restore) app.put('/api/queue-monitoring/restore/:id', QueueMonitoringController.restore)