update: add param in option room

This commit is contained in:
wayanrivan
2026-04-15 13:22:06 +07:00
parent dc31629673
commit bc5d706252
2 changed files with 45 additions and 8 deletions

View File

@ -15,6 +15,7 @@ import fileUpload from "express-fileupload";
import { v4 as uuidv4 } from 'uuid';
import fs from "fs";
import path from "path";
import { Brackets } from "typeorm";
const log: Logger<ILogObj> = new Logger({
name: "[RoomController]",
@ -92,24 +93,60 @@ export class RoomController {
/*
#swagger.tags = ['Room']
#swagger.security = [{ "bearerAuth": [] }]
*/
#swagger.parameters['id'] = {
in: 'query',
type: 'string',
required: false,
description: 'Department Id (optional)'
}
*/
try {
const schema = Joi.object().keys({
id: Joi.string().uuid().optional().label("Department Id"),
});
let param: any = await schema.validateAsync(req.query);
const query = await RoomModel.list();
query.select([
"Room.id",
"Room.room",
]).orderBy("Room.room", "ASC");
query
.select([
"Room.id",
"Room.room",
])
.orderBy("Room.room", "ASC");
// ✅ optional filter by departmentId
if (param.id) {
query.andWhere("Room.departmentId = :departmentId", {
departmentId: param.id,
});
}
const total_count_data = await query.getCount();
const list_data = await query.getMany();
const count_data = CommonHelper.countObject(list_data);
return ReturnHelper.successResponselist(res, 200, Language.lang.success_view, count_data, 1, total_count_data, list_data);
return ReturnHelper.successResponselist(
res,
200,
Language.lang.success_view,
count_data,
1,
total_count_data,
list_data
);
} catch (e: unknown) {
log.error(e);
const err = e as Error;
return ReturnHelper.errorResponse(res, 400, 401, Language.lang.failed_view, err.message);
return ReturnHelper.errorResponse(
res,
400,
401,
Language.lang.failed_view,
err.message
);
}
}

View File

@ -144,7 +144,7 @@ export class RoutePrivate {
app.put('/api/diagnostic-procedure/restore/:id', DiagnosticProcedureController.restore)
app.get('/api/room/list', RoomController.list)
app.get('/api/room/option', RoomController.option)
app.get('/api/room/option', RoomController.option);
app.post('/api/room/create', RoomController.create)
app.get('/api/room/detail/:id', RoomController.detail)
app.put('/api/room/update/:id', RoomController.update)