Merge branch 'develop' into Yutsuten/party-chat-translations

This commit is contained in:
Sabe Jones
2019-05-08 15:13:53 -05:00
1849 changed files with 71858 additions and 56152 deletions

View File

@@ -245,7 +245,7 @@ api.rejectQuest = {
if (group.quest.members[user._id]) throw new BadRequest(res.t('questAlreadyAccepted'));
if (group.quest.members[user._id] === false) throw new BadRequest(res.t('questAlreadyRejected'));
user.party.quest = Group.cleanQuestProgress();
user.party.quest = Group.cleanQuestUser(user.party.quest.progress);
user.markModified('party.quest');
await user.save();
@@ -363,20 +363,25 @@ api.cancelQuest = {
if (validationErrors) throw validationErrors;
let group = await Group.getGroup({user, groupId, fields: basicGroupFields.concat(' quest')});
if (!group) throw new NotFound(res.t('groupNotFound'));
if (group.type !== 'party') throw new NotAuthorized(res.t('guildQuestsNotSupported'));
if (!group.quest.key) throw new NotFound(res.t('questInvitationDoesNotExist'));
if (user._id !== group.leader && group.quest.leader !== user._id) throw new NotAuthorized(res.t('onlyLeaderCancelQuest'));
if (group.quest.active) throw new NotAuthorized(res.t('cantCancelActiveQuest'));
let questName = questScrolls[group.quest.key].text('en');
const newChatMessage = group.sendChat(`\`${user.profile.name} cancelled the party quest ${questName}.\``);
group.quest = Group.cleanGroupQuest();
group.markModified('quest');
let [savedGroup] = await Promise.all([
group.save(),
newChatMessage.save(),
User.update(
{'party._id': groupId},
{$set: {'party.quest': Group.cleanQuestProgress()}},
Group.cleanQuestParty(),
{multi: true}
).exec(),
]);
@@ -405,7 +410,7 @@ api.abortQuest = {
url: '/groups/:groupId/quests/abort',
middlewares: [authWithHeaders()],
async handler (req, res) {
// Abort a quest AFTER it has begun (see questCancel for BEFORE)
// Abort a quest AFTER it has begun
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -434,9 +439,8 @@ api.abortQuest = {
let memberUpdates = User.update({
'party._id': groupId,
}, {
$set: {'party.quest': Group.cleanQuestProgress()},
}, {multi: true}).exec();
}, Group.cleanQuestParty(),
{multi: true}).exec();
let questLeaderUpdate = User.update({
_id: group.quest.leader,
@@ -491,7 +495,7 @@ api.leaveQuest = {
group.quest.members[user._id] = false;
group.markModified('quest.members');
user.party.quest = Group.cleanQuestProgress();
user.party.quest = Group.cleanQuestUser(user.party.quest.progress);
user.markModified('party.quest');
let [savedGroup] = await Promise.all([