From c6879aa5dfcd4baf82e582b71933a23d9df7b79c Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sun, 10 Apr 2016 18:42:59 +0200 Subject: [PATCH] fix(v3): cleanup of shared code --- common/script/ops/clearPMs.js | 1 - common/script/ops/scoreTask.js | 3 ++- common/script/ops/unlock.js | 2 +- website/src/controllers/api-v2/user.js | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/script/ops/clearPMs.js b/common/script/ops/clearPMs.js index 6a7eb91b39..5187354dfc 100644 --- a/common/script/ops/clearPMs.js +++ b/common/script/ops/clearPMs.js @@ -1,4 +1,3 @@ - module.exports = function clearPMs (user) { user.inbox.messages = {}; user.markModified('inbox.messages'); diff --git a/common/script/ops/scoreTask.js b/common/script/ops/scoreTask.js index f5ff5f115b..352e2bc330 100644 --- a/common/script/ops/scoreTask.js +++ b/common/script/ops/scoreTask.js @@ -3,6 +3,7 @@ import { NotAuthorized, } from '../libs/errors'; import i18n from '../i18n'; +import updateStats from '../fns/updateStats'; const MAX_TASK_VALUE = 21.27; const MIN_TASK_VALUE = -47.27; @@ -254,6 +255,6 @@ module.exports = function scoreTask (options = {}, req = {}) { } } - user.fns.updateStats(stats, req); + updateStats(user, stats, req); return delta; }; diff --git a/common/script/ops/unlock.js b/common/script/ops/unlock.js index 4bd24aeecc..74eb9fd8ac 100644 --- a/common/script/ops/unlock.js +++ b/common/script/ops/unlock.js @@ -28,7 +28,7 @@ module.exports = function unlock (user, req = {}, analytics) { cost = 0.5; } - let alreadyOwns = !isFullSet && user.fns.dotGet(`purchased.${path}`) === true; + let alreadyOwns = !isFullSet && _.get(user, `purchased.${path}`) === true; if ((!user.balance || user.balance < cost) && !alreadyOwns) { throw new NotAuthorized(i18n.t('notEnoughGems', req.language)); diff --git a/website/src/controllers/api-v2/user.js b/website/src/controllers/api-v2/user.js index 7de680bf2c..f1aab61023 100644 --- a/website/src/controllers/api-v2/user.js +++ b/website/src/controllers/api-v2/user.js @@ -124,6 +124,8 @@ api.score = function(req, res, next) { task, direction, }, req); + // Drop system (don't run on the client, as it would only be discarded since ops are sent to the API, not the results) + if (direction === 'up') user.fns.randomDrop({task, delta}, req); asyncM.parallel({ task: task.save.bind(task),