From f38cf6e02ad048506d7978e9225d5f1b852c0bf2 Mon Sep 17 00:00:00 2001 From: undefined Date: Sat, 18 May 2024 03:09:01 +0800 Subject: [PATCH] user: update email normalization --- packages/hydrooj/src/model/user.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/hydrooj/src/model/user.ts b/packages/hydrooj/src/model/user.ts index 763e65726..ce373a4fa 100644 --- a/packages/hydrooj/src/model/user.ts +++ b/packages/hydrooj/src/model/user.ts @@ -176,13 +176,8 @@ export class User { } function handleMailLower(mail: string) { - let data = mail.trim().toLowerCase(); - if (data.endsWith('@googlemail.com')) data = data.replace('@googlemail.com', '@gmail.com'); - if (data.endsWith('@gmail.com')) { - const [prev] = data.split('@'); - data = `${prev.replace(/[.+]/g, '')}@gmail.com`; - } - return data; + const [n, d] = mail.trim().toLowerCase().split('@'); + return `${n.replace(/\./g, '').replace(/\+.$/, '')}@${d === 'googlemail.com' ? 'gmail.com' : d}`; } async function initAndCache(udoc: Udoc, dudoc, scope: bigint = PERM.PERM_ALL) {