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);