From be6f975d340e85c7f542676b696f75895a830373 Mon Sep 17 00:00:00 2001 From: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Date: Fri, 28 Feb 2025 14:04:54 +0000 Subject: [PATCH] fix: update profile instead of username. Display p.username (#19621) * update profile instead of username. Display p.username * Update packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts Co-authored-by: Alex van Andel * Update packages/trpc/server/routers/viewer/organizations/getUser.handler.ts --------- Co-authored-by: Alex van Andel --- .../routers/viewer/organizations/getUser.handler.ts | 7 +++++++ .../routers/viewer/organizations/listMembers.handler.ts | 8 +++++++- .../routers/viewer/organizations/updateUser.handler.ts | 1 - 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/trpc/server/routers/viewer/organizations/getUser.handler.ts b/packages/trpc/server/routers/viewer/organizations/getUser.handler.ts index 6f297eaf39..8cb5594326 100644 --- a/packages/trpc/server/routers/viewer/organizations/getUser.handler.ts +++ b/packages/trpc/server/routers/viewer/organizations/getUser.handler.ts @@ -40,6 +40,11 @@ export async function getUserHandler({ input, ctx }: AdminVerifyOptions) { name: true, }, }, + profiles: { + select: { + username: true, + }, + }, }, }), // Query on accepted as we don't want the user to be able to get this much info on a user that hasn't accepted the invite @@ -77,6 +82,8 @@ export async function getUserHandler({ input, ctx }: AdminVerifyOptions) { const foundUser = { ...requestedUser, + // Enrich with the users profile for the username or fall back to the username their account was created with. + username: requestedUser.profiles[0]?.username || requestedUser.username, teams: teams.map((team) => ({ ...team.team, accepted: team.accepted, diff --git a/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts b/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts index ee58c213c2..92a9805f7d 100644 --- a/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts +++ b/packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts @@ -164,6 +164,12 @@ export const listMembersHandler = async ({ ctx, input }: GetOptions) => { select: { id: true, username: true, + profiles: { + select: { + organizationId: true, + username: true, + }, + }, email: true, avatarUrl: true, timeZone: true, @@ -230,7 +236,7 @@ export const listMembersHandler = async ({ ctx, input }: GetOptions) => { return { id: user.id, - username: user.username, + username: user.profiles[0]?.username || user.username, email: user.email, timeZone: user.timeZone, role: membership.role, diff --git a/packages/trpc/server/routers/viewer/organizations/updateUser.handler.ts b/packages/trpc/server/routers/viewer/organizations/updateUser.handler.ts index c090be00e4..3f8b03b90a 100644 --- a/packages/trpc/server/routers/viewer/organizations/updateUser.handler.ts +++ b/packages/trpc/server/routers/viewer/organizations/updateUser.handler.ts @@ -111,7 +111,6 @@ export const updateUserHandler = async ({ ctx, input }: UpdateUserOptions) => { email: input.email, name: input.name, timeZone: input.timeZone, - username: input.username, }; if (input.avatar && input.avatar.startsWith("data:image/png;base64,")) {