UserPrimaryEmailCheckHandler.js 634 B

1234567891011121314151617181920212223242526272829
  1. const Settings = require('@overleaf/settings')
  2. function requiresPrimaryEmailCheck({
  3. email,
  4. emails,
  5. lastPrimaryEmailCheck,
  6. signUpDate,
  7. }) {
  8. const hasExpired = date =>
  9. Date.now() - date.getTime() > Settings.primary_email_check_expiration
  10. const primaryEmailConfirmedAt = emails.find(
  11. emailEntry => emailEntry.email === email
  12. ).confirmedAt
  13. if (primaryEmailConfirmedAt && !hasExpired(primaryEmailConfirmedAt)) {
  14. return false
  15. }
  16. if (lastPrimaryEmailCheck) {
  17. return hasExpired(lastPrimaryEmailCheck)
  18. } else {
  19. return hasExpired(signUpDate)
  20. }
  21. }
  22. module.exports = {
  23. requiresPrimaryEmailCheck,
  24. }