mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
* shared model for chat and inbox * disable inbox schema * inbox: use separate model * remove old code that used group.chat * add back chat field (not used) and remove old tests * remove inbox exclusions when loading user * add GET /api/v3/inbox/messages * add comment * implement DELETE /inbox/messages/:messageid in v4 * implement GET /inbox/messages in v4 and update tests * implement DELETE /api/v4/inbox/clear * fix url * fix doc * update /export/inbox.html * update other data exports * add back messages in user schema * add user.toJSONWithInbox * add compativility until migration is done * more compatibility * fix tojson called twice * add compatibility methods * fix common tests * fix v4 integration tests * v3 get user -> with inbox * start to fix tests * fix v3 integration tests * wip * wip, client use new route * update tests for members/send-private-message * tests for get user in v4 * add tests for DELETE /inbox/messages/:messageId * add tests for DELETE /inbox/clear in v4 * update docs * fix tests * initial migration * fix migration * fix migration * migration fixes * migrate api.enterCouponCode * migrate api.castSpell * migrate reset, reroll, rebirth * add routes to v4 version * fix tests * fixes * api.updateUser * remove .only * get user -> userLib * refactor inbox.vue to work with new data model * fix return message when messaging yourself * wip fix bug with new conversation * wip * fix remaining ui issues * move api.registerLocal, fixes * keep only v3 version of GET /inbox/messages
146 lines
3.4 KiB
JavaScript
146 lines
3.4 KiB
JavaScript
import { authWithHeaders } from '../../middlewares/auth';
|
|
import { shops } from '../../../common/';
|
|
|
|
let api = {};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/market get the available items for the market
|
|
* @apiName GetMarketItems
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available items
|
|
* @apiSuccess {string} message Success message
|
|
*/
|
|
api.getMarketItems = {
|
|
method: 'GET',
|
|
url: '/shops/market',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = shops.getMarketShop(user, req.language);
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/market-gear get the available gear for the market
|
|
* @apiName GetMarketGear
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available gear
|
|
*/
|
|
api.getMarketGear = {
|
|
method: 'GET',
|
|
url: '/shops/market-gear',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = {
|
|
categories: shops.getMarketGearCategories(user, req.language),
|
|
};
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/quests get the available items for the quests shop
|
|
* @apiName GetQuestShopItems
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available quests
|
|
* @apiSuccess {string} message Success message
|
|
*/
|
|
api.getQuestShopItems = {
|
|
method: 'GET',
|
|
url: '/shops/quests',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = shops.getQuestShop(user, req.language);
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/time-travelers get the available items for the time travelers shop
|
|
* @apiName GetTimeTravelersShopItems
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available items
|
|
* @apiSuccess {string} message Success message
|
|
*/
|
|
api.getTimeTravelerShopItems = {
|
|
method: 'GET',
|
|
url: '/shops/time-travelers',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = shops.getTimeTravelersShop(user, req.language);
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/seasonal get the available items for the seasonal shop
|
|
* @apiName GetSeasonalShopItems
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available items
|
|
* @apiSuccess {string} message Success message
|
|
*/
|
|
api.getSeasonalShopItems = {
|
|
method: 'GET',
|
|
url: '/shops/seasonal',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = shops.getSeasonalShop(user, req.language);
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
/**
|
|
* @apiIgnore
|
|
* @api {get} /api/v3/shops/backgrounds get the available items for the backgrounds shop
|
|
* @apiName GetBackgroundsShopItems
|
|
* @apiGroup Shops
|
|
*
|
|
* @apiSuccess {Object} data List of available backgrounds
|
|
* @apiSuccess {string} message Success message
|
|
*/
|
|
api.getBackgroundShopItems = {
|
|
method: 'GET',
|
|
url: '/shops/backgrounds',
|
|
middlewares: [authWithHeaders()],
|
|
async handler (req, res) {
|
|
let user = res.locals.user;
|
|
|
|
let resObject = {
|
|
identifier: 'backgroundShop',
|
|
text: res.t('backgroundShop'),
|
|
notes: res.t('backgroundShopText'),
|
|
imageName: 'background_shop',
|
|
sets: shops.getBackgroundShopSets(user, req.language),
|
|
};
|
|
|
|
res.respond(200, resObject);
|
|
},
|
|
};
|
|
|
|
module.exports = api;
|