Only cleanup high frequency events in eventlog

Those are currently the login events and backup
This commit is contained in:
Johannes Zellner
2016-11-18 11:32:11 +01:00
parent 7c27f01ab8
commit 552ca43175
3 changed files with 31 additions and 10 deletions

View File

@@ -104,11 +104,15 @@ function clear(callback) {
});
}
function delByCreationTime(creationTime, callback) {
function delByCreationTime(creationTime, actions, callback) {
assert(util.isDate(creationTime));
assert(Array.isArray(actions));
assert.strictEqual(typeof callback, 'function');
database.query('DELETE FROM eventlog WHERE creationTime < ?', [ creationTime ], function (error) {
var query = 'DELETE FROM eventlog WHERE creationTime < ? ';
if (actions.length) query += ' AND ( ' + actions.map(function () { return 'action != ?'; }).join(' AND ') + ' ) ';
database.query(query, [ creationTime ].concat(actions), function (error) {
if (error) return callback(new DatabaseError(DatabaseError.INTERNAL_ERROR, error));
callback(error);