Improve the performance of some frequently used API calls (#15251)

* use lean for getting task lists

* Only load necessary user data for group-plans call

Also don’t make a db request for groups if the user is in none

* Only load necessary user fields for in app rewards

* Optimize updateStore by not checking every item

* Only load necessary user data for task scoring

* improve performance of inbox request calls

* merge fix

* fix scoring task call

* add quests to scoring call

* fix showing official pinned items

* also load achievements
This commit is contained in:
Phillip Thelen
2024-08-12 23:45:35 +02:00
committed by GitHub
parent 0069af78a3
commit 9aafd76746
10 changed files with 23 additions and 23 deletions

View File

@@ -1299,12 +1299,17 @@ api.removeGroupManager = {
api.getGroupPlans = {
method: 'GET',
url: '/group-plans',
middlewares: [authWithHeaders()],
middlewares: [authWithHeaders({ userFieldsToInclude: ['guilds', 'party._id'] })],
async handler (req, res) {
const { user } = res.locals;
const userGroups = user.getGroups();
if (userGroups.length === 0) {
res.respond(200, []);
return;
}
const groups = await Group
.find({
_id: { $in: userGroups },