add routes for buy ops and integration tests

This commit is contained in:
Matteo Pagliazzi
2016-03-20 17:41:17 +01:00
parent fea2e0d8c0
commit 480194f53c
8 changed files with 286 additions and 10 deletions
+13 -10
View File
@@ -106,15 +106,17 @@ module.exports = function buy (user, req = {}, analytics) {
}
user.items.gear.owned[item.key] = true;
if (!message) {
message = i18n.t('messageBought', {
itemText: item.text(req.language),
}, req.language);
}
if (item.last) ultimateGear(user);
}
user.stats.gp -= item.value;
if (!message) {
message = i18n.t('messageBought', {
itemText: item.text(req.language),
}, req.language);
}
if (analytics) {
analytics.track('acquire item', {
uuid: user._id,
@@ -125,11 +127,12 @@ module.exports = function buy (user, req = {}, analytics) {
});
}
let buyResp = _.pick(user, splitWhitespace('items achievements stats flags'));
if (armoireResp) buyResp.armoire = armoireResp;
return {
data: buyResp,
let res = {
data: _.pick(user, splitWhitespace('items achievements stats flags')),
message,
};
if (armoireResp) res.armoire = armoireResp;
return res;
};
+2
View File
@@ -6,6 +6,8 @@ import {
NotFound,
} from '../libs/errors';
import _ from 'lodash';
// buy a quest with gold
module.exports = function buyQuest (user, req = {}, analytics) {
let key = _.get(req, 'params.key');
if (!key) throw new BadRequest(i18n.t('missingKeyParam', req.language));