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

@@ -168,7 +168,7 @@ api.getBuyList = {
*/
api.getInAppRewardsList = {
method: 'GET',
middlewares: [authWithHeaders()],
middlewares: [authWithHeaders({ userFieldsToInclude: ['items', 'pinnedItems', 'unpinnedItems', 'pinnedItemsOrder', 'stats.class', 'achievements'] })],
url: '/user/in-app-rewards',
async handler (req, res) {
const list = common.inAppRewards(res.locals.user);
@@ -1537,7 +1537,7 @@ api.clearMessages = {
*/
api.markPmsRead = {
method: 'POST',
middlewares: [authWithHeaders()],
middlewares: [authWithHeaders({ userFieldsToInclude: ['inbox'] })],
url: '/user/mark-pms-read',
async handler (req, res) {
const { user } = res.locals;