From 06781bd998ad394337b9b434cd3bd26aca31a111 Mon Sep 17 00:00:00 2001 From: Akhil Meka Date: Sat, 11 Oct 2025 15:02:59 +0530 Subject: [PATCH] fix: update name of user when firstName or lastName is updated --- src/user/user.controller.ts | 3 ++- src/user/user.service.ts | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index bb7663a..9c512d6 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -103,7 +103,8 @@ export async function updateUserHandler( try { const updatedUser = await updateUser(userId, input, req.user); - if (!updateUser) return res.code(404).send({ error: "resource not found" }); + if (!updatedUser) + return res.code(404).send({ error: "resource not found" }); return res.code(200).send(updatedUser); } catch (err) { diff --git a/src/user/user.service.ts b/src/user/user.service.ts index 9b61b05..dd3b860 100644 --- a/src/user/user.service.ts +++ b/src/user/user.service.ts @@ -182,7 +182,8 @@ export async function updateUser( ) { throw ErrOpNotValid; } - return await userModel + + const userInDb = await userModel .findOneAndUpdate({ pid: userId }, input, { new: true, }) @@ -190,6 +191,16 @@ export async function updateUser( "_id pid orgId firstName lastName name email role avatar status createdAt createdBy lastLogin" ) .populate({ path: "orgId", select: "_id pid name avatar" }); + + if (!userInDb) return null; + + const name = userInDb.firstName + " " + userInDb.lastName; + if (name != userInDb.name) { + userInDb.name = name; + await userInDb.save(); + } + + return userInDb; } export async function updateUserInternal(