mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 06:37:23 +01:00
* 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
37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import { authWithHeaders } from '../../middlewares/auth';
|
|
import * as inboxLib from '../../libs/inbox';
|
|
|
|
const api = {};
|
|
|
|
/* NOTE most inbox routes are either in the user or members controller */
|
|
|
|
/**
|
|
* @api {get} /api/v3/inbox/messages Get inbox messages for a user
|
|
* @apiName GetInboxMessages
|
|
* @apiGroup Inbox
|
|
* @apiDescription Get inbox messages for a user
|
|
*
|
|
* @apiParam (Query) {Number} page Load the messages of the selected Page - 10 Messages per Page
|
|
* @apiParam (Query) {GUID} conversation Loads only the messages of a conversation
|
|
*
|
|
* @apiSuccess {Array} data An array of inbox messages
|
|
*/
|
|
api.getInboxMessages = {
|
|
method: 'GET',
|
|
url: '/inbox/messages',
|
|
middlewares: [authWithHeaders({ userFieldsToInclude: ['profile', 'contributor', 'backer', 'inbox'] })],
|
|
async handler (req, res) {
|
|
const { user } = res.locals;
|
|
const { page } = req.query;
|
|
const { conversation } = req.query;
|
|
|
|
const userInbox = await inboxLib.getUserInbox(user, {
|
|
page, conversation,
|
|
});
|
|
|
|
res.respond(200, userInbox);
|
|
},
|
|
};
|
|
|
|
export default api;
|