From b3ead45ab8beac16adaeaabe35800a8fa2a33740 Mon Sep 17 00:00:00 2001 From: lethemanh Date: Wed, 14 May 2025 01:09:18 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20bug=20cannot=20update=20em?= =?UTF-8?q?ail=20with=20account=20remote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/services/user/services/users/service.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/tdrive/backend/node/src/services/user/services/users/service.ts b/tdrive/backend/node/src/services/user/services/users/service.ts index 317a2f32..827a8cad 100644 --- a/tdrive/backend/node/src/services/user/services/users/service.ts +++ b/tdrive/backend/node/src/services/user/services/users/service.ts @@ -120,26 +120,25 @@ export class UserServiceImpl { throw CrudException.notFound(`User ${id} not found`); } - if (user.email_canonical !== body.email) { + const currentEmail = user.email_canonical; + const isChangeEmail = currentEmail !== body.email; + + if (isChangeEmail) { + await gr.services.console.getClient().userWasDeletedForceLogout(currentEmail); const userByEmail = await gr.services.users.getByEmail(body.email, context); if (userByEmail) { throw CrudException.badRequest(`Email ${body.email} is existed`); } } - let isChangeEmail = false; - if (user.email_canonical !== body.email) { - isChangeEmail = true; - } - - user.email_canonical = body.email || user.email_canonical; + user.email_canonical = body.email || currentEmail; user.first_name = body.first_name || user.first_name; user.last_name = body.last_name || user.last_name; user.picture = body.picture || user.picture; user.creation_date = !isNumber(user.creation_date) ? Date.now() : user.creation_date; if (isChangeEmail) { user.username_canonical = formatUsername(body.email); - user.identity_provider_id = user.identity_provider_id !== "null" ? body.email : "null"; + user.identity_provider_id = user.identity_provider_id !== "null" ? currentEmail : "null"; } await this.repository.save(user, context);