v3 and adapted v2: bugs fixes for groups, challenges and tasks

This commit is contained in:
Matteo Pagliazzi
2016-04-29 11:49:12 +02:00
parent f78bc2e6a8
commit 3364019fcc
5 changed files with 51 additions and 25 deletions

View File

@@ -350,7 +350,15 @@ api.castSpell = {
if (task.challenge.id) throw new BadRequest(res.t('challengeTasksNoCast'));
spell.cast(user, task, req);
await task.save();
if (user.isModified()) {
await Q.all([
user.save(),
task.save(),
]);
} else {
await task.save();
}
res.respond(200, task);
} else if (targetType === 'self') {
spell.cast(user, null, req);
@@ -370,7 +378,8 @@ api.castSpell = {
let toSave = tasks.filter(t => t.isModified());
let isUserModified = user.isModified();
toSave.unshift(user.save());
if (isUserModified) toSave.unshift(user.save());
let saved = await Q.all(toSave);
let response = {
@@ -403,7 +412,14 @@ api.castSpell = {
if (!partyMembers) throw new NotFound(res.t('userWithIDNotFound', {userId: targetId}));
spell.cast(user, partyMembers, req);
await partyMembers.save();
if (user.isModified()) {
await Q.all([
user.save(),
partyMembers.save(),
]);
} else {
await partyMembers.save();
}
}
res.respond(200, partyMembers);