SubscriptionEmailHandler.mjs 875 B

1234567891011121314151617181920212223242526272829
  1. import EmailHandler from '../Email/EmailHandler.mjs'
  2. import UserGetter from '../User/UserGetter.mjs'
  3. import './SubscriptionEmailBuilder.mjs'
  4. import PlansLocator from './PlansLocator.mjs'
  5. import Settings from '@overleaf/settings'
  6. const SubscriptionEmailHandler = {
  7. async sendTrialOnboardingEmail(userId, planCode) {
  8. const user = await UserGetter.promises.getUser(userId, {
  9. email: 1,
  10. })
  11. const plan = PlansLocator.findLocalPlanInSettings(planCode)
  12. if (!plan) {
  13. throw new Error('unknown paid plan: ' + planCode)
  14. }
  15. if (Settings.enableOnboardingEmails) {
  16. const emailOptions = {
  17. to: user.email,
  18. sendingUser_id: userId,
  19. planName: plan.name,
  20. features: plan.features,
  21. }
  22. await EmailHandler.promises.sendEmail('trialOnboarding', emailOptions)
  23. }
  24. },
  25. }
  26. export default SubscriptionEmailHandler