mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
New client group finishes (#8899)
* Added challenges section * Added public fields to guilds * Added suggestion for habitica help guild * Added categoires to group * Added guild category filters * Added guild filter by member count * Removed console.log * Updated group count in tests to account for newly created groups
This commit is contained in:
@@ -310,9 +310,25 @@ api.getGroups = {
|
||||
let groupFields = basicGroupFields.concat(' description memberCount balance');
|
||||
let sort = '-memberCount';
|
||||
|
||||
let filters = {};
|
||||
if (req.query.categories) {
|
||||
let categorySlugs = req.query.categories.split(',');
|
||||
filters.categories = { $elemMatch: { slug: {$in: categorySlugs} } };
|
||||
}
|
||||
|
||||
if (req.query.minMemberCount) {
|
||||
if (!filters.memberCount) filters.memberCount = {};
|
||||
filters.memberCount.$gte = parseInt(req.query.minMemberCount, 10);
|
||||
}
|
||||
|
||||
if (req.query.maxMemberCount) {
|
||||
if (!filters.memberCount) filters.memberCount = {};
|
||||
filters.memberCount.$lte = parseInt(req.query.maxMemberCount, 10);
|
||||
}
|
||||
|
||||
let results = await Group.getGroups({
|
||||
user, types, groupFields, sort,
|
||||
paginate, page: req.query.page,
|
||||
paginate, page: req.query.page, filters,
|
||||
});
|
||||
res.respond(200, results);
|
||||
},
|
||||
|
||||
@@ -222,6 +222,11 @@ function _getMembersForItem (type) {
|
||||
} else if (type === 'group-members') {
|
||||
if (group.type === 'guild') {
|
||||
query.guilds = group._id;
|
||||
|
||||
if (req.query.includeAllPublicFields === 'true') {
|
||||
fields = memberFields;
|
||||
addComputedStats = true;
|
||||
}
|
||||
} else {
|
||||
query['party._id'] = group._id; // group._id and not groupId because groupId could be === 'party'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user