const config = require('config') const unsubscribeSlug = config.get('unsubscribe.url') const resetPath = config.get('invite-reset-password.url') const { staffEmail, name: journalName } = config.get('journal') const Email = require('@pubsweet/component-email-templating') const { services } = require('pubsweet-component-helper-service') const { sendNewUserEmail, sendSignupEmail } = require('./helpers') module.exports = { async sendNotifications({ user, baseUrl, role }) { const email = new Email({ type: 'user', fromEmail: `${journalName} <${staffEmail}>`, toUser: { email: user.email, 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, country: user.country, }), ctaText: 'CONFIRM ACCOUNT', signatureName: 'Hindawi', unsubscribeLink: services.createUrl(baseUrl, unsubscribeSlug, { id: user.id, token: user.accessTokens.unsubscribe, }), }, }) if (role) { sendNewUserEmail({ email, role }) } else { sendSignupEmail({ email, baseUrl, user }) } }, }