From bd9854fa9313aa8dca01523de871c8083bc54f0c Mon Sep 17 00:00:00 2001 From: OldHawk Date: Thu, 7 Sep 2017 11:06:03 +0800 Subject: [PATCH] feat(torrent): add toggleHnRStatus method of admin/oper --- .../services/torrents.client.service.js | 7 +++++++ .../controllers/torrents.server.controller.js | 21 +++++++++++++++++++ .../server/policies/torrents.server.policy.js | 1 + .../server/routes/torrents.server.routes.js | 3 +++ 4 files changed, 32 insertions(+) diff --git a/modules/torrents/client/services/torrents.client.service.js b/modules/torrents/client/services/torrents.client.service.js index 75d69cda..836bb76d 100644 --- a/modules/torrents/client/services/torrents.client.service.js +++ b/modules/torrents/client/services/torrents.client.service.js @@ -54,6 +54,13 @@ torrentId: '@_torrentId' } }, + toggleHnRStatus: { + method: 'PUT', + url: '/api/torrents/:torrentId/toggleHnRStatus', + params: { + torrentId: '@_id' + } + }, thumbsUp: { method: 'PUT', url: '/api/torrents/:torrentId/thumbsUp', diff --git a/modules/torrents/server/controllers/torrents.server.controller.js b/modules/torrents/server/controllers/torrents.server.controller.js index fe718b30..b93385d2 100644 --- a/modules/torrents/server/controllers/torrents.server.controller.js +++ b/modules/torrents/server/controllers/torrents.server.controller.js @@ -486,6 +486,27 @@ exports.scrape = function (req, res) { } }; +/** + * toggleHnRStatus + * @param req + * @param res + */ +exports.toggleHnRStatus = function (req, res) { + var torrent = req.torrent; + + torrent.torrent_hnr = !torrent.torrent_hnr; + + torrent.save(function (err) { + if (err) { + return res.status(422).send({ + message: errorHandler.getErrorMessage(err) + }); + } else { + res.json(torrent); + } + }); +}; + /** * thumbsUp * @param req diff --git a/modules/torrents/server/policies/torrents.server.policy.js b/modules/torrents/server/policies/torrents.server.policy.js index ed4038ed..f1764dcf 100644 --- a/modules/torrents/server/policies/torrents.server.policy.js +++ b/modules/torrents/server/policies/torrents.server.policy.js @@ -26,6 +26,7 @@ exports.invokeRolesPolicies = function () { {resources: '/api/torrents/:torrentId', permissions: '*'}, {resources: '/api/torrents/:torrentId/thumbsUp', permissions: '*'}, {resources: '/api/torrents/:torrentId/scrape', permissions: '*'}, + {resources: '/api/torrents/:torrentId/toggleHnRStatus', permissions: '*'}, {resources: '/api/torrents/:torrentId/set/saletype/:saleType', permissions: '*'}, {resources: '/api/torrents/:torrentId/set/recommendlevel/:rlevel', permissions: '*'}, {resources: '/api/torrents/:torrentId/set/reviewed', permissions: '*'}, diff --git a/modules/torrents/server/routes/torrents.server.routes.js b/modules/torrents/server/routes/torrents.server.routes.js index 66de54f6..e710340f 100644 --- a/modules/torrents/server/routes/torrents.server.routes.js +++ b/modules/torrents/server/routes/torrents.server.routes.js @@ -41,6 +41,9 @@ module.exports = function (app) { app.route('/api/torrents/:torrentId/scrape').all(torrentsPolicy.isAllowed) .get(torrents.scrape); + app.route('/api/torrents/:torrentId/toggleHnRStatus').all(torrentsPolicy.isAllowed) + .put(torrents.toggleHnRStatus); + app.route('/api/torrents/:torrentId/set/saletype/:saleType').all(torrentsPolicy.isAllowed) .put(torrents.setSaleType);