Files
overleaf-cep/services/web/app/src/Features/User/UserOnboardingEmailManager.js
Brian Gough 61fa1d656f Merge pull request #16835 from overleaf/bg-google-spam-temporarily-disable-emails
Temporarily disable onboarding emails

GitOrigin-RevId: a1967bc793fcd7b3b90f812fb8c9b9d83f704093
2024-02-01 09:03:30 +00:00

30 lines
904 B
JavaScript

const Queues = require('../../infrastructure/Queues')
const EmailHandler = require('../Email/EmailHandler')
const UserUpdater = require('./UserUpdater')
const UserGetter = require('./UserGetter')
const Settings = require('@overleaf/settings')
const ONE_DAY_MS = 24 * 60 * 60 * 1000
async function scheduleOnboardingEmail(user) {
await Queues.createScheduledJob(
'emails-onboarding',
{ data: { userId: user._id } },
ONE_DAY_MS
)
}
async function sendOnboardingEmail(userId) {
const user = await UserGetter.promises.getUser({ _id: userId }, { email: 1 })
if (Settings.enableOnboardingEmails && user) {
await EmailHandler.promises.sendEmail('userOnboardingEmail', {
to: user.email,
})
await UserUpdater.promises.updateUser(user._id, {
$set: { onboardingEmailSentAt: new Date() },
})
}
}
module.exports = { scheduleOnboardingEmail, sendOnboardingEmail }