feat: Add installationId, ip, resendRequest to arguments passed to verifyUserEmails on verification email request (#8873)

BREAKING CHANGE: The `Parse.User` passed as argument if `verifyUserEmails` is set to a function is renamed from `user` to `object` for consistency with invocations of `verifyUserEmails` on signup or login; the user object is not a plain JavaScript object anymore but an instance of `Parse.User`
This commit is contained in:
Manuel
2024-01-06 16:41:13 +01:00
committed by GitHub
parent 0d58e3972c
commit 8adcbee112
3 changed files with 46 additions and 4 deletions

View File

@@ -197,7 +197,7 @@ export class UserController extends AdaptableController {
* @param user
* @returns {*}
*/
async regenerateEmailVerifyToken(user, master) {
async regenerateEmailVerifyToken(user, master, installationId, ip) {
const { _email_verify_token } = user;
let { _email_verify_token_expires_at } = user;
if (_email_verify_token_expires_at && _email_verify_token_expires_at.__type === 'Date') {
@@ -211,7 +211,13 @@ export class UserController extends AdaptableController {
) {
return Promise.resolve();
}
const shouldSend = await this.setEmailVerifyToken(user, { user, master });
const shouldSend = await this.setEmailVerifyToken(user, {
object: Parse.User.fromJSON(Object.assign({ className: '_User' }, user)),
master,
installationId,
ip,
resendRequest: true
});
if (!shouldSend) {
return;
}
@@ -223,7 +229,7 @@ export class UserController extends AdaptableController {
if (!aUser || aUser.emailVerified) {
throw undefined;
}
const generate = await this.regenerateEmailVerifyToken(aUser, req.auth?.isMaster);
const generate = await this.regenerateEmailVerifyToken(aUser, req.auth?.isMaster, req.auth?.installationId, req.ip);
if (generate) {
this.sendVerificationEmail(aUser, req);
}