Notify admins on app update

This commit is contained in:
Johannes Zellner
2019-05-06 17:14:02 +02:00
parent b7d3014aab
commit 22efb96f66
2 changed files with 48 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ exports = module.exports = {
adminChanged: adminChanged,
passwordReset: passwordReset,
appUpdateAvailable: appUpdateAvailable,
appUpdateDone: appUpdateDone,
sendDigest: sendDigest,
sendInvite: sendInvite,
@@ -335,6 +336,35 @@ function appUpdateAvailable(mailTo, app, hasSubscription, info, callback) {
});
}
function appUpdateDone(mailTo, app, callback) {
assert.strictEqual(typeof mailTo, 'string');
assert.strictEqual(typeof app, 'object');
assert.strictEqual(typeof callback, 'function');
getMailConfig(function (error, mailConfig) {
if (error) return debug('Error getting mail details:', error);
var templateData = {
webadminUrl: config.adminOrigin(),
app: app,
cloudronName: mailConfig.cloudronName,
cloudronAvatarUrl: config.adminOrigin() + '/api/v1/cloudron/avatar'
};
var templateDataText = JSON.parse(JSON.stringify(templateData));
templateDataText.format = 'text';
var mailOptions = {
from: mailConfig.notificationFrom,
to: mailTo,
subject: util.format('App %s was updated', app.fqdn),
text: render('app_update_done.ejs', templateDataText)
};
sendMail(mailOptions, callback);
});
}
function sendDigest(mailTo, info, callback) {
assert.strictEqual(typeof mailTo, 'string');
assert.strictEqual(typeof info, 'object');