update: add param in option room
This commit is contained in:
@ -15,6 +15,7 @@ import fileUpload from "express-fileupload";
|
|||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
import { Brackets } from "typeorm";
|
||||||
|
|
||||||
const log: Logger<ILogObj> = new Logger({
|
const log: Logger<ILogObj> = new Logger({
|
||||||
name: "[RoomController]",
|
name: "[RoomController]",
|
||||||
@ -92,24 +93,60 @@ export class RoomController {
|
|||||||
/*
|
/*
|
||||||
#swagger.tags = ['Room']
|
#swagger.tags = ['Room']
|
||||||
#swagger.security = [{ "bearerAuth": [] }]
|
#swagger.security = [{ "bearerAuth": [] }]
|
||||||
|
#swagger.parameters['id'] = {
|
||||||
|
in: 'query',
|
||||||
|
type: 'string',
|
||||||
|
required: false,
|
||||||
|
description: 'Department Id (optional)'
|
||||||
|
}
|
||||||
*/
|
*/
|
||||||
try {
|
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();
|
const query = await RoomModel.list();
|
||||||
|
|
||||||
query.select([
|
query
|
||||||
|
.select([
|
||||||
"Room.id",
|
"Room.id",
|
||||||
"Room.room",
|
"Room.room",
|
||||||
]).orderBy("Room.room", "ASC");
|
])
|
||||||
|
.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 total_count_data = await query.getCount();
|
||||||
const list_data = await query.getMany();
|
const list_data = await query.getMany();
|
||||||
const count_data = CommonHelper.countObject(list_data);
|
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) {
|
} catch (e: unknown) {
|
||||||
log.error(e);
|
log.error(e);
|
||||||
const err = e as Error;
|
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
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -144,7 +144,7 @@ export class RoutePrivate {
|
|||||||
app.put('/api/diagnostic-procedure/restore/:id', DiagnosticProcedureController.restore)
|
app.put('/api/diagnostic-procedure/restore/:id', DiagnosticProcedureController.restore)
|
||||||
|
|
||||||
app.get('/api/room/list', RoomController.list)
|
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.post('/api/room/create', RoomController.create)
|
||||||
app.get('/api/room/detail/:id', RoomController.detail)
|
app.get('/api/room/detail/:id', RoomController.detail)
|
||||||
app.put('/api/room/update/:id', RoomController.update)
|
app.put('/api/room/update/:id', RoomController.update)
|
||||||
|
|||||||
Reference in New Issue
Block a user