mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-31 04:41:32 +02:00
* 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
30 lines
634 B
JavaScript
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,
|
|
}
|