mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-07-13 17:52:22 +00:00
fix(challenges): fetch purchased
This commit is contained in:
parent
ebd0cb72de
commit
013f8bcca7
1 changed files with 6 additions and 4 deletions
|
|
@ -264,9 +264,10 @@ api.joinChallenge = {
|
||||||
if (!challenge) throw new NotFound(res.t('challengeNotFound'));
|
if (!challenge) throw new NotFound(res.t('challengeNotFound'));
|
||||||
|
|
||||||
const group = await Group.getGroup({
|
const group = await Group.getGroup({
|
||||||
user, groupId: challenge.group, fields: basicGroupFields, optionalMembership: true,
|
user, groupId: challenge.group, fields: `${basicGroupFields} purchased`, optionalMembership: true,
|
||||||
});
|
});
|
||||||
if (!group || !challenge.canJoin(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
if (!group || !challenge.canJoin(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
||||||
|
group.purchased = undefined;
|
||||||
|
|
||||||
const addedSuccessfully = await challenge.addToUser(user);
|
const addedSuccessfully = await challenge.addToUser(user);
|
||||||
if (!addedSuccessfully) {
|
if (!addedSuccessfully) {
|
||||||
|
|
@ -569,9 +570,10 @@ api.getChallenge = {
|
||||||
|
|
||||||
// Fetching basic group data
|
// Fetching basic group data
|
||||||
const group = await Group.getGroup({
|
const group = await Group.getGroup({
|
||||||
user, groupId: challenge.group, fields: basicGroupFields, optionalMembership: true,
|
user, groupId: challenge.group, fields: `${basicGroupFields} purchased`, optionalMembership: true,
|
||||||
});
|
});
|
||||||
if (!group || !challenge.canView(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
if (!group || !challenge.canView(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
||||||
|
group.purchased = undefined;
|
||||||
|
|
||||||
const chalRes = challenge.toJSON();
|
const chalRes = challenge.toJSON();
|
||||||
chalRes.group = group.toJSON({ minimize: true });
|
chalRes.group = group.toJSON({ minimize: true });
|
||||||
|
|
@ -728,11 +730,11 @@ api.updateChallenge = {
|
||||||
if (!challenge) throw new NotFound(res.t('challengeNotFound'));
|
if (!challenge) throw new NotFound(res.t('challengeNotFound'));
|
||||||
|
|
||||||
const group = await Group.getGroup({
|
const group = await Group.getGroup({
|
||||||
user, groupId: challenge.group, fields: basicGroupFields, optionalMembership: true,
|
user, groupId: challenge.group, fields: `${basicGroupFields} purchased`, optionalMembership: true,
|
||||||
});
|
});
|
||||||
if (!group || !challenge.canView(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
if (!group || !challenge.canView(user, group)) throw new NotFound(res.t('challengeNotFound'));
|
||||||
if (!challenge.canModify(user)) throw new NotAuthorized(res.t('onlyLeaderUpdateChal'));
|
if (!challenge.canModify(user)) throw new NotAuthorized(res.t('onlyLeaderUpdateChal'));
|
||||||
|
group.purchased = undefined;
|
||||||
_.merge(challenge, Challenge.sanitizeUpdate(req.body));
|
_.merge(challenge, Challenge.sanitizeUpdate(req.body));
|
||||||
|
|
||||||
const savedChal = await challenge.save();
|
const savedChal = await challenge.save();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue