From a783b94561172d89bd549059ca3ec7e3f2c8bad3 Mon Sep 17 00:00:00 2001 From: avicenan Date: Fri, 5 Jun 2026 15:16:25 +0900 Subject: [PATCH] fix(auth): return rooms on login --- src/controllers/auth.ts | 9 ++++++++- src/controllers/user.ts | 15 +++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/controllers/auth.ts b/src/controllers/auth.ts index 5bd1aa0..fb70508 100644 --- a/src/controllers/auth.ts +++ b/src/controllers/auth.ts @@ -115,6 +115,12 @@ export class AuthController { hrms.level_name = user.employee.position?.name || null } + const query = `SELECT r.id, r.room, r.code + FROM rooms r + INNER JOIN user_to_room utr ON utr.room_id = r.id + WHERE utr.user_id = $1 AND r.deleted_at IS NULL AND utr.deleted_at IS NULL` + const rooms = await OrmHelper.DB.query(query, [user.id]) + var privateKey = fs.readFileSync("src/helpers/key/private.key") var token = jwt.sign( @@ -127,6 +133,7 @@ export class AuthController { id_role: role_id, roles: roles.roles, hrms: hrms, + rooms: rooms, }, }, privateKey, @@ -136,7 +143,7 @@ export class AuthController { delete user.password const data = { - user: { ...user, ...hrms }, + user: { ...user, ...hrms, rooms }, role_name: roles.name, roles_list: await AuthController.getListRole(roles.roles), token: { diff --git a/src/controllers/user.ts b/src/controllers/user.ts index dc53def..5adca6b 100644 --- a/src/controllers/user.ts +++ b/src/controllers/user.ts @@ -1131,20 +1131,19 @@ export class UserController { where: { id: param.id }, }); - // get all the rooms from the usertoroom - // const repo = OrmHelper.DB.getRepository(UserToRoom); - - // const rooms = await repo.createQueryBuilder('utr') - // .select('utr.id_room') - // .where('utr.user_id = :id', { id: param.id }) - // .getMany(); - const repoHospital = OrmHelper.DB.getRepository(HospitalInformation); const hospital = await repoHospital.findOne({ where: { id: Not(IsNull()) } }); if (detail != null) { + const query = `SELECT r.id, r.room, r.code + FROM rooms r + INNER JOIN user_to_room utr ON utr.room_id = r.id + WHERE utr.user_id = $1 AND r.deleted_at IS NULL AND utr.deleted_at IS NULL` + const rooms = await OrmHelper.DB.query(query, [detail.id]) + const data = { ...detail, + rooms: rooms, signature: detail.signature ?? null, file_signature: detail.signature ? buildFileUrl(detail.signature) : null, profile: detail.profile_picture ?? null,