Skip to content

Commit

Permalink
Merge 354c63f into 6aa204c
Browse files Browse the repository at this point in the history
  • Loading branch information
SabreCat committed Aug 17, 2018
2 parents 6aa204c + 354c63f commit a608ba3
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions website/server/controllers/api-v3/groups.js
Expand Up @@ -587,14 +587,6 @@ api.joinGroup = {
}
if (!isUserInvited) throw new NotAuthorized(res.t('messageGroupRequiresInvite'));

// @TODO: Review the need for this and if still needed, don't base this on memberCount
if (!group.hasNotCancelled() && group.memberCount === 0) group.leader = user._id; // If new user is only member -> set as leader

if (group.hasNotCancelled()) {
await payments.addSubToGroupUser(user, group);
await group.updateGroupPlan();
}

group.memberCount += 1;

let promises = [group.save(), user.save()];
Expand Down Expand Up @@ -638,6 +630,14 @@ api.joinGroup = {

promises = await Promise.all(promises);

// @TODO: Review the need for this and if still needed, don't base this on memberCount
if (!group.hasNotCancelled() && group.memberCount === 0) group.leader = user._id; // If new user is only member -> set as leader

if (group.hasNotCancelled()) {
await payments.addSubToGroupUser(user, group);
await group.updateGroupPlan();
}

let response = await Group.toJSONCleanChat(promises[0], user);
let leader = await User.findById(response.leader).select(nameFields).exec();
if (leader) {
Expand Down Expand Up @@ -790,7 +790,6 @@ api.leaveGroup = {
}

await group.leave(user, req.query.keep, req.body.keepChallenges);
if (group.hasNotCancelled()) await group.updateGroupPlan(true);
_removeMessagesFromMember(user, group._id);
await user.save();

Expand All @@ -804,6 +803,7 @@ api.leaveGroup = {
await payments.cancelGroupSubscriptionForUser(user, group);
}

if (group.hasNotCancelled()) await group.updateGroupPlan(true);
res.respond(200, {});
},
};
Expand Down Expand Up @@ -892,10 +892,6 @@ api.removeGroupMember = {

if (isInGroup) {
group.memberCount -= 1;
if (group.hasNotCancelled()) {
await group.updateGroupPlan(true);
await payments.cancelGroupSubscriptionForUser(member, group, true);
}

if (group.quest && group.quest.leader === member._id) {
group.quest.key = undefined;
Expand Down Expand Up @@ -944,6 +940,12 @@ api.removeGroupMember = {
member.save(),
group.save(),
]);

if (isInGroup && group.hasNotCancelled()) {
await group.updateGroupPlan(true);
await payments.cancelGroupSubscriptionForUser(member, group, true);
}

res.respond(200, {});
},
};
Expand Down

0 comments on commit a608ba3

Please sign in to comment.