Skip to content
Snippets Groups Projects
notifications.js 1.33 KiB
Newer Older
const config = require('config')

const unsubscribeSlug = config.get('unsubscribe.url')
const resetPath = config.get('invite-reset-password.url')
const staffEmail = config.get('journal.staffEmail')
const Email = require('@pubsweet/component-email-templating')
const { services } = require('pubsweet-component-helper-service')
const { sendNewUserEmail, sendSignupEmail } = require('./helpers')
  async sendNotifications({ user, baseUrl, role }) {
    const email = new Email({
      type: 'user',
      fromEmail: `Hindawi <${staffEmail}>`,
        name: `${user.lastName}`,
      },
      content: {
        ctaLink: services.createUrl(baseUrl, resetPath, {
          email: user.email,
          token: user.accessTokens.passwordReset,
          firstName: user.firstName,
          lastName: user.lastName,
          affiliation: user.affiliation,
          title: user.title,
        signatureName: 'Hindawi',
        unsubscribeLink: services.createUrl(baseUrl, unsubscribeSlug, {
          id: user.id,
          token: user.accessTokens.unsubscribe,
      sendNewUserEmail({ email, role })
      sendSignupEmail({ email, baseUrl, user })