Add mail eventlog

This commit is contained in:
Girish Ramakrishnan
2020-02-07 14:11:52 -08:00
parent fb931b7a3a
commit a05342eaa0
6 changed files with 49 additions and 7 deletions
+22 -1
View File
@@ -48,10 +48,13 @@ exports = module.exports = {
removeList: removeList,
resolveList: resolveList,
getEventlog: getEventlog,
_readDkimPublicKeySync: readDkimPublicKeySync
};
var assert = require('assert'),
var addons = require('./addons.js'),
assert = require('assert'),
async = require('async'),
BoxError = require('./boxerror.js'),
constants = require('./constants.js'),
@@ -69,6 +72,7 @@ var assert = require('assert'),
nodemailer = require('nodemailer'),
path = require('path'),
paths = require('./paths.js'),
request = require('request'),
reverseProxy = require('./reverseproxy.js'),
safe = require('safetydance'),
settings = require('./settings.js'),
@@ -664,6 +668,23 @@ function configureMail(mailFqdn, mailDomain, callback) {
});
}
function getEventlog(page, perPage, callback) {
assert.strictEqual(typeof page, 'number');
assert.strictEqual(typeof perPage, 'number');
assert.strictEqual(typeof callback, 'function');
addons.getServiceDetails('mail', 'CLOUDRON_MAIL_TOKEN', function (error, addonDetails) {
if (error) return callback(error);
request.get(`https://${addonDetails.ip}:3000/eventlog?access_token=${addonDetails.token}&page=${page}&per_page=${perPage}`, { json: true, rejectUnauthorized: false }, function (error, response) {
if (error) return callback(new BoxError(BoxError.MAIL_ERROR, `Error getting eventlog: ${error.message}`));
if (response.statusCode !== 200) return callback(new BoxError(BoxError.MAIL_ERROR, `Error getting eventlog. Status code: ${response.statusCode} message: ${response.body}`));
callback(null, response.body.eventlogs);
});
});
}
function getMailAuth(callback) {
assert.strictEqual(typeof callback, 'function');