Files
overleaf-cep/services/web/app/src/Features/User/UserPrimaryEmailCheckHandler.js
Miguel Serrano 719542f9f7 Primary Email Check (#6471)
* added primary-email-check page, route and controllers
* add `#add-email` internal link in settings to display new email form
* added primary-email-check redirection with split test
* update `lastPrimaryEmailCheck` when the default email address is set
* added `lastPrimaryCheck` to admin panel
* translations for primary-email-check
* acceptance tests for primary-email-check
* [web] multi-submit for primary email check
* Using `confirmedAt` to prevent from displaying primary-email-check page

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-Authored-By: Miguel Serrano <mserranom@gmail.com>
GitOrigin-RevId: d8e3a280439da08038a4487d8bfd7b3b0596e3b5
2022-02-04 09:03:34 +00:00

30 lines
634 B
JavaScript

const Settings = require('@overleaf/settings')
function requiresPrimaryEmailCheck({
email,
emails,
lastPrimaryEmailCheck,
signUpDate,
}) {
const hasExpired = date =>
Date.now() - date.getTime() > Settings.primary_email_check_expiration
const primaryEmailConfirmedAt = emails.find(
emailEntry => emailEntry.email === email
).confirmedAt
if (primaryEmailConfirmedAt && !hasExpired(primaryEmailConfirmedAt)) {
return false
}
if (lastPrimaryEmailCheck) {
return hasExpired(lastPrimaryEmailCheck)
} else {
return hasExpired(signUpDate)
}
}
module.exports = {
requiresPrimaryEmailCheck,
}