translation: asyncify

This commit is contained in:
Girish Ramakrishnan
2021-08-19 11:00:35 -07:00
parent 03e22170da
commit ada7166bf8
5 changed files with 102 additions and 132 deletions
+53 -59
View File
@@ -108,31 +108,29 @@ function sendInvite(user, invitor, inviteLink) {
debug('Sending invite mail');
getMailConfig(function (error, mailConfig) {
getMailConfig(async function (error, mailConfig) {
if (error) return debug('Error getting mail details:', error);
translation.getTranslations(function (error, translationAssets) {
if (error) return debug('Error getting translations:', error);
const translationAssets = await translation.getTranslations();
var templateData = {
user: user.displayName || user.username || user.email,
webadminUrl: settings.dashboardOrigin(),
inviteLink: inviteLink,
invitor: invitor ? invitor.email : null,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
const templateData = {
user: user.displayName || user.username || user.email,
webadminUrl: settings.dashboardOrigin(),
inviteLink: inviteLink,
invitor: invitor ? invitor.email : null,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
var mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ welcomeEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('welcome_user-text.ejs', templateData, translationAssets),
html: render('welcome_user-html.ejs', templateData, translationAssets)
};
const mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ welcomeEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('welcome_user-text.ejs', templateData, translationAssets),
html: render('welcome_user-html.ejs', templateData, translationAssets)
};
sendMail(mailOptions);
});
sendMail(mailOptions);
});
}
@@ -149,32 +147,30 @@ function sendNewLoginLocation(user, loginLocation) {
debug('Sending new login location mail');
getMailConfig(function (error, mailConfig) {
getMailConfig(async function (error, mailConfig) {
if (error) return debug('Error getting mail details:', error);
translation.getTranslations(function (error, translationAssets) {
if (error) return debug('Error getting translations:', error);
const translationAssets = await translation.getTranslations();
const templateData = {
user: user.displayName || user.username || user.email,
ip,
userAgent: userAgent || 'unknown',
country,
city,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
const templateData = {
user: user.displayName || user.username || user.email,
ip,
userAgent: userAgent || 'unknown',
country,
city,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
const mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ newLoginEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('new_login_location-text.ejs', templateData, translationAssets),
html: render('new_login_location-html.ejs', templateData, translationAssets)
};
const mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ newLoginEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('new_login_location-text.ejs', templateData, translationAssets),
html: render('new_login_location-html.ejs', templateData, translationAssets)
};
sendMail(mailOptions);
});
sendMail(mailOptions);
});
}
@@ -183,29 +179,27 @@ function passwordReset(user) {
debug('Sending mail for password reset for user %s.', user.email, user.id);
getMailConfig(function (error, mailConfig) {
getMailConfig(async function (error, mailConfig) {
if (error) return debug('Error getting mail details:', error);
translation.getTranslations(function (error, translationAssets) {
if (error) return debug('Error getting translations:', error);
const translationAssets = await translation.getTranslations();
var templateData = {
user: user.displayName || user.username || user.email,
resetLink: `${settings.dashboardOrigin()}/login.html?resetToken=${user.resetToken}`,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
const templateData = {
user: user.displayName || user.username || user.email,
resetLink: `${settings.dashboardOrigin()}/login.html?resetToken=${user.resetToken}`,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
};
var mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ passwordResetEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('password_reset-text.ejs', templateData, translationAssets),
html: render('password_reset-html.ejs', templateData, translationAssets)
};
const mailOptions = {
from: mailConfig.notificationFrom,
to: user.fallbackEmail,
subject: ejs.render(translation.translate('{{ passwordResetEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
text: render('password_reset-text.ejs', templateData, translationAssets),
html: render('password_reset-html.ejs', templateData, translationAssets)
};
sendMail(mailOptions);
});
sendMail(mailOptions);
});
}