Fixed quota update for DELETE

This commit is contained in:
Andris Reinman 2017-04-01 14:49:58 +03:00
parent c22ecebdbc
commit 1a9f182575
2 changed files with 26 additions and 26 deletions

4
api.js
View file

@ -436,8 +436,8 @@ server.post('/user/quota/reset', (req, res, next) => {
res.json({
success: true,
username,
previousStorageUsed: Number(result.value.storageUsed) || 0,
storageUsed: user.storageUsed
previousStorageUsed: user.storageUsed,
storageUsed: Number(result.value.storageUsed) || 0
});
return next();
});

48
imap.js
View file

@ -239,38 +239,38 @@ server.onDelete = function (path, session, callback) {
return callback(err);
}
db.database.collection('messages').deleteMany({
mailbox: mailbox._id
}, err => {
// calculate mailbox size by aggregating the size's of all messages
db.database.collection('messages').aggregate([{
$match: {
mailbox: mailbox._id
}
}, {
$group: {
_id: {
mailbox: '$mailbox'
},
storageUsed: {
$sum: '$size'
}
}
}], {
cursor: {
batchSize: 1
}
}).toArray((err, res) => {
if (err) {
return callback(err);
}
// calculate mailbox size by aggregating the size's of all messages
db.database.collection('messages').aggregate([{
$match: {
mailbox: mailbox._id
}
}, {
$group: {
_id: {
mailbox: '$mailbox'
},
storageUsed: {
$sum: '$size'
}
}
}], {
cursor: {
batchSize: 1
}
}).toArray((err, res) => {
let storageUsed = res && res[0] && res[0].storageUsed || 0;
db.database.collection('messages').deleteMany({
mailbox: mailbox._id
}, err => {
if (err) {
return callback(err);
}
let storageUsed = res && res[0] && res[0].storageUsed || 0;
let done = () => {
db.database.collection('journal').deleteMany({
mailbox: mailbox._id