mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-04-14 11:36:45 +00:00
Optimize database access for some use cases (#15444)
* optimize query when listing challenge tasks * Optimize query for checking if user is party leader
This commit is contained in:
parent
972f23e235
commit
5ba7d2395e
2 changed files with 8 additions and 8 deletions
|
|
@ -1316,13 +1316,13 @@ api.getLookingForParty = {
|
|||
const PAGE = req.query.page || 0;
|
||||
const PAGE_START = USERS_PER_PAGE * PAGE;
|
||||
|
||||
const partyLed = await Group
|
||||
.findOne({
|
||||
type: 'party',
|
||||
leader: user._id,
|
||||
})
|
||||
.select('_id')
|
||||
.exec();
|
||||
let partyLed = false;
|
||||
if (user.party._id) {
|
||||
const party = await Group.getGroup({ user, groupId: user.party._id });
|
||||
if (party && party.leader === user._id) {
|
||||
partyLed = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!partyLed) {
|
||||
throw new BadRequest(apiError('notPartyLeader'));
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ async function getTasks (req, res, options = {}) {
|
|||
} else {
|
||||
query.type = type.slice(0, -1); // removing the final "s"
|
||||
}
|
||||
} else {
|
||||
} else if (!challenge) {
|
||||
query.$and = [{
|
||||
$or: [ // Exclude completed todos
|
||||
{ type: 'todo', completed: false },
|
||||
|
|
|
|||
Loading…
Reference in a new issue