Remove parallel calls to save (#10416)

* remove parallel saves from the code

* fix more unit tests

* do not save users when sending message in buyGift (saved later)

* fix test

* reinstall

* fix tests

* fix tests
This commit is contained in:
Matteo Pagliazzi
2018-06-01 15:56:01 +02:00
committed by GitHub
parent 1e786412ba
commit a35c1954af
8 changed files with 108 additions and 111 deletions
+5 -2
View File
@@ -99,6 +99,8 @@ schema.methods.getObjectionsToInteraction = function getObjectionsToInteraction
schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, options) {
let sender = this;
let senderMsg = options.senderMsg || options.receiverMsg;
// whether to save users after sending the message, defaults to true
let saveUsers = options.save === false ? false : true;
common.refPush(userToReceiveMessage.inbox.messages, chatDefaults(options.receiverMsg, sender));
userToReceiveMessage.inbox.newMessages++;
@@ -130,8 +132,9 @@ schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, o
common.refPush(sender.inbox.messages, defaults({sent: true}, chatDefaults(senderMsg, userToReceiveMessage)));
sender.markModified('inbox.messages');
let promises = [userToReceiveMessage.save(), sender.save()];
await Promise.all(promises);
if (saveUsers) {
await Promise.all(userToReceiveMessage.save(), sender.save());
}
};
/**