From b3c8c91eefaddc74c7723cf3da609f96c0655c75 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 14 Jan 2024 00:29:24 +0100 Subject: [PATCH 1/3] Update EmailVerificationToken.spec.js --- spec/EmailVerificationToken.spec.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/EmailVerificationToken.spec.js b/spec/EmailVerificationToken.spec.js index f4976207ec..436ace4ad8 100644 --- a/spec/EmailVerificationToken.spec.js +++ b/spec/EmailVerificationToken.spec.js @@ -869,7 +869,7 @@ describe('Email Verification Token Expiration: ', () => { done(); }); - it('should match codes with emailVerifyTokenReuseIfValid', async done => { + fit('should match codes with emailVerifyTokenReuseIfValid', async done => { let sendEmailOptions; let sendVerificationEmailCallCount = 0; const emailAdapter = { @@ -925,12 +925,12 @@ describe('Email Verification Token Expiration: ', () => { username: 'resends_verification_token', }); - // verify that our token & expiration has been changed for this new request + // Verify that token & expiration haven't been changed for this new request expect(typeof userAfterRequest).toBe('object'); + expect(userBeforeRequest._email_verify_token).toBeDefined(); expect(userBeforeRequest._email_verify_token).toEqual(userAfterRequest._email_verify_token); - expect(userBeforeRequest._email_verify_token_expires_at).toEqual( - userAfterRequest._email_verify_token_expires_at - ); + expect(userBeforeRequest._email_verify_token_expires_at).toBeDefined(); + expect(userBeforeRequest._email_verify_token_expires_at).toEqual(userAfterRequest._email_verify_token_expires_at); done(); }); From 2ef587f8adfe3bc9f2143e5b57697a863f81d8a3 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 14 Jan 2024 01:27:26 +0100 Subject: [PATCH 2/3] add fix --- spec/EmailVerificationToken.spec.js | 6 +++--- src/Controllers/UserController.js | 2 +- src/Routers/UsersRouter.js | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/EmailVerificationToken.spec.js b/spec/EmailVerificationToken.spec.js index 436ace4ad8..82ca60d495 100644 --- a/spec/EmailVerificationToken.spec.js +++ b/spec/EmailVerificationToken.spec.js @@ -869,7 +869,7 @@ describe('Email Verification Token Expiration: ', () => { done(); }); - fit('should match codes with emailVerifyTokenReuseIfValid', async done => { + it('should match codes with emailVerifyTokenReuseIfValid', async done => { let sendEmailOptions; let sendVerificationEmailCallCount = 0; const emailAdapter = { @@ -897,7 +897,7 @@ describe('Email Verification Token Expiration: ', () => { const config = Config.get('test'); const [userBeforeRequest] = await config.database.find('_User', { username: 'resends_verification_token', - }); + }, {}, Auth.maintenance(config)); // store this user before we make our email request expect(sendVerificationEmailCallCount).toBe(1); await new Promise(resolve => { @@ -923,7 +923,7 @@ describe('Email Verification Token Expiration: ', () => { const [userAfterRequest] = await config.database.find('_User', { username: 'resends_verification_token', - }); + }, {}, Auth.maintenance(config)); // Verify that token & expiration haven't been changed for this new request expect(typeof userAfterRequest).toBe('object'); diff --git a/src/Controllers/UserController.js b/src/Controllers/UserController.js index 0f17402224..d2dcbcd1df 100644 --- a/src/Controllers/UserController.js +++ b/src/Controllers/UserController.js @@ -209,7 +209,7 @@ export class UserController extends AdaptableController { _email_verify_token && new Date() < new Date(_email_verify_token_expires_at) ) { - return Promise.resolve(); + return Promise.resolve(true); } const shouldSend = await this.setEmailVerifyToken(user, { object: Parse.User.fromJSON(Object.assign({ className: '_User' }, user)), diff --git a/src/Routers/UsersRouter.js b/src/Routers/UsersRouter.js index e3effd960b..4b202779e0 100644 --- a/src/Routers/UsersRouter.js +++ b/src/Routers/UsersRouter.js @@ -6,6 +6,7 @@ import AccountLockout from '../AccountLockout'; import ClassesRouter from './ClassesRouter'; import rest from '../rest'; import Auth from '../Auth'; +import { maintenance } from '../Auth'; import passwordCrypto from '../password'; import { maybeRunTrigger, @@ -476,7 +477,7 @@ export class UsersRouter extends ClassesRouter { ); } - const results = await req.config.database.find('_User', { email: email }); + const results = await req.config.database.find('_User', { email: email }, {}, Auth.maintenance(req.config)); if (!results.length || results.length < 1) { throw new Parse.Error(Parse.Error.EMAIL_NOT_FOUND, `No user found with email ${email}`); } From c21d067e248005fb8d738cc43f74be88ff2289d3 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 14 Jan 2024 01:28:30 +0100 Subject: [PATCH 3/3] remove unused import --- src/Routers/UsersRouter.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Routers/UsersRouter.js b/src/Routers/UsersRouter.js index 4b202779e0..e6f0c7db3a 100644 --- a/src/Routers/UsersRouter.js +++ b/src/Routers/UsersRouter.js @@ -6,7 +6,6 @@ import AccountLockout from '../AccountLockout'; import ClassesRouter from './ClassesRouter'; import rest from '../rest'; import Auth from '../Auth'; -import { maintenance } from '../Auth'; import passwordCrypto from '../password'; import { maybeRunTrigger,