feat: track uid for email/username changes, closes #12454

This commit is contained in:
Barış Soner Uşaklı
2024-04-29 10:32:07 -04:00
parent c036786cba
commit 325d00ea94
6 changed files with 25 additions and 13 deletions

View File

@@ -454,7 +454,7 @@ usersAPI.addEmail = async (caller, { email, skipConfirmation, uid }) => {
throw new Error('[[error:email-taken]]');
}
await user.setUserField(uid, 'email', email);
await user.email.confirmByUid(uid);
await user.email.confirmByUid(uid, caller.uid);
}
} else {
await usersAPI.update(caller, { uid, email });
@@ -504,7 +504,7 @@ usersAPI.confirmEmail = async (caller, { uid, email, sessionId }) => {
await user.email.confirmByCode(code, sessionId);
return true;
} else if (current && current === email) { // i.e. old account w/ unconf. email in user hash
await user.email.confirmByUid(uid);
await user.email.confirmByUid(uid, caller.uid);
return true;
}