Skip to content

Commit 64c6b5e

Browse files
authored
fix(api-quota): Quota reset now also logs storage diff. Log now includes zero valued fields ZMS-128 (#640)
* Log storage diff for quota usage recalculation API endpoint. Also logs 0 * include _set as required key as well
1 parent 9f704f7 commit 64c6b5e

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

api.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ module.exports = done => {
467467
emit: (key, message) => log.info('Gelf', JSON.stringify(message))
468468
};
469469

470-
loggelf = message => {
470+
loggelf = (message, requiredKeys = []) => {
471471
if (typeof message === 'string') {
472472
message = {
473473
short_message: message
@@ -484,7 +484,8 @@ module.exports = done => {
484484
message.timestamp = Date.now() / 1000;
485485
message._component = component;
486486
Object.keys(message).forEach(key => {
487-
if (!message[key]) {
487+
if (!message[key] && !requiredKeys.includes(key)) {
488+
// remove the key if it empty/falsy/undefined/null and it is not required to stay
488489
delete message[key];
489490
}
490491
});
@@ -538,7 +539,7 @@ module.exports = done => {
538539

539540
settingsHandler = new SettingsHandler({ db: db.database });
540541

541-
server.loggelf = message => loggelf(message);
542+
server.loggelf = (message, requiredKeys = []) => loggelf(message, requiredKeys);
542543

543544
server.lock = new Lock({
544545
redis: db.redis,

lib/api/users.js

+12-8
Original file line numberDiff line numberDiff line change
@@ -1705,14 +1705,18 @@ module.exports = (db, server, userHandler, settingsHandler) => {
17051705
});
17061706
}
17071707

1708-
server.loggelf({
1709-
short_message: '[QUOTA] reset',
1710-
_mail_action: 'quota',
1711-
_user: userData._id,
1712-
_set: Number(storageUsed) || 0,
1713-
_previous_storage_used: Number(updateResponse.value.storageUsed) || 0,
1714-
_storage_used: Number(storageUsed) || 0
1715-
});
1708+
server.loggelf(
1709+
{
1710+
short_message: '[QUOTA] reset',
1711+
_mail_action: 'quota',
1712+
_user: userData._id,
1713+
_set: Number(storageUsed) || 0,
1714+
_previous_storage_used: Number(updateResponse.value.storageUsed) || 0,
1715+
_storage_used: Number(storageUsed) || 0,
1716+
_storage_diff: Math.abs((Number(updateResponse.value.storageUsed) || 0) - (Number(storageUsed) || 0))
1717+
},
1718+
['_previous_storage_used', '_storage_used', '_storage_diff', '_set']
1719+
);
17161720

17171721
return res.json({
17181722
success: true,

0 commit comments

Comments
 (0)