Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var bypassTranslation = args.bypassTranslation;
var subjectVariables = args.subjectVariables || [];
var subjectTranslation;
var emailCode;
var locale = args.locality;
var code = args.code;
var i18nHelper = new I18NHelper({
poFilePath: CpTranslations.getPoFilePath(),
poFileName: 'messages.po',
domain: 'coder-dojo-platform'
});
if (options.sendemail && options.email) {
logger.warn('email-notifications', JSON.stringify(args));
emailCode = code + locale;
if (!fs.existsSync(CpTranslations.getEmailTemplatePath(emailCode))) emailCode = code + 'en_US';
if (!args.to) return done(null, {ok: false, why: 'No recipient set.'});
if (!bypassTranslation) {
subjectTranslation = i18nHelper.getClosestTranslation(locale, subject);
if (subjectTranslation === null) {
logger.warn('email-notifications', JSON.stringify({
ok: false,
why: 'Invalid email subject.',
args
}));
return done(null, {ok: false, why: 'Invalid email subject.'});
}
subject = subjectTranslation.fetch(subjectVariables);
}
seneca.act({
role: 'mail', cmd: 'send',
};
}
return {
'postgresql-store': pgConfig(),
'google-api': googleApiConfig(),
'kue': kueConfig(),
'email-notifications': {
sendemail: true,
sendFrom: 'The CoderDojo Team ',
email: {
headers: {'X-SMTPAPI': '{"category": ["cp-dojos-service"]}'}
}
},
maildev: {
folder: path.resolve(CpTranslations.getEmailTemplatePath()),
mail: {
from: 'no-reply@coderdojo.com'
},
config: {
host: 'maildev',
port: 25,
ignoreTLS: true
}
},
email: {
folder: path.resolve(CpTranslations.getEmailTemplatePath()),
config: {
pool: true,
service: 'sendgrid',
auth: {
user: process.env.MAIL_USER,