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

@@ -13,7 +13,7 @@ const sortOrder = reduce(content.gearTypes, (accumulator, val, key) => {
return accumulator;
}, {});
export default function updateStore (user) {
export default function updateStore (user, items) {
let changes = [];
each(content.gearTypes, type => {
@@ -26,6 +26,7 @@ export default function updateStore (user) {
});
changes = changes.concat(filter(content.gear.flat, val => {
if (items && items.indexOf(val.key) === -1) return false;
if (['special', 'mystery', 'armoire'].indexOf(val.klass) !== -1 && !user.items.gear.owned[val.key] && (val.canOwn ? val.canOwn(user) : false)) {
return true;
}