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:
Keith Holliday
2017-07-26 09:05:13 -06:00
committed by GitHub
parent 9071fa0073
commit 0b13ba822e
9 changed files with 288 additions and 75 deletions

View File

@@ -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);
},