mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
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:
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user