import { readFileSync } from 'fs-extra'
-import { isArray, merge } from 'lodash'
+import { merge } from 'lodash'
import { createTransport, Transporter } from 'nodemailer'
import { join } from 'path'
-import { root } from '@shared/core-utils'
+import { arrayify, root } from '@shared/core-utils'
import { EmailPayload } from '@shared/models'
import { SendEmailDefaultOptions } from '../../shared/models/server/emailer.model'
import { isTestOrDevInstance } from '../helpers/core-utils'
}
}
- return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload })
}
addPasswordCreateEmailJob (username: string, to: string, createPasswordUrl: string) {
}
}
- return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload })
}
addVerifyEmailJob (username: string, to: string, verifyEmailUrl: string) {
}
}
- return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload })
}
addUserBlockJob (user: MUser, blocked: boolean, reason?: string) {
text: `Your account ${user.username} on ${CONFIG.INSTANCE.NAME} has been ${blockedWord}${reasonString}.`
}
- return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload })
}
addContactFormJob (fromEmail: string, fromName: string, subject: string, body: string) {
}
}
- return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ return JobQueue.Instance.createJobAsync({ type: 'email', payload: emailPayload })
}
async sendMail (options: EmailPayload) {
subjectPrefix: CONFIG.EMAIL.SUBJECT.PREFIX
})
- const toEmails = isArray(options.to)
- ? options.to
- : [ options.to ]
+ const toEmails = arrayify(options.to)
for (const to of toEmails) {
const baseOptions: SendEmailDefaultOptions = {