Skip to content

Commit

Permalink
fix(api-quota): Quota reset now also logs storage diff. Log now inclu…
Browse files Browse the repository at this point in the history
…des 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
  • Loading branch information
NickOvt committed Feb 29, 2024
1 parent 9f704f7 commit 64c6b5e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
7 changes: 4 additions & 3 deletions api.js
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ module.exports = done => {
emit: (key, message) => log.info('Gelf', JSON.stringify(message))
};

loggelf = message => {
loggelf = (message, requiredKeys = []) => {
if (typeof message === 'string') {
message = {
short_message: message
Expand All @@ -484,7 +484,8 @@ module.exports = done => {
message.timestamp = Date.now() / 1000;
message._component = component;
Object.keys(message).forEach(key => {
if (!message[key]) {
if (!message[key] && !requiredKeys.includes(key)) {
// remove the key if it empty/falsy/undefined/null and it is not required to stay
delete message[key];
}
});
Expand Down Expand Up @@ -538,7 +539,7 @@ module.exports = done => {

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

server.loggelf = message => loggelf(message);
server.loggelf = (message, requiredKeys = []) => loggelf(message, requiredKeys);

server.lock = new Lock({
redis: db.redis,
Expand Down
20 changes: 12 additions & 8 deletions lib/api/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -1705,14 +1705,18 @@ module.exports = (db, server, userHandler, settingsHandler) => {
});
}

server.loggelf({
short_message: '[QUOTA] reset',
_mail_action: 'quota',
_user: userData._id,
_set: Number(storageUsed) || 0,
_previous_storage_used: Number(updateResponse.value.storageUsed) || 0,
_storage_used: Number(storageUsed) || 0
});
server.loggelf(
{
short_message: '[QUOTA] reset',
_mail_action: 'quota',
_user: userData._id,
_set: Number(storageUsed) || 0,
_previous_storage_used: Number(updateResponse.value.storageUsed) || 0,
_storage_used: Number(storageUsed) || 0,
_storage_diff: Math.abs((Number(updateResponse.value.storageUsed) || 0) - (Number(storageUsed) || 0))
},
['_previous_storage_used', '_storage_used', '_storage_diff', '_set']
);

return res.json({
success: true,
Expand Down

0 comments on commit 64c6b5e

Please sign in to comment.