From a22a98bb6e20e285efb98e3afae91d9d043f5515 Mon Sep 17 00:00:00 2001 From: OldHawk Date: Thu, 21 Sep 2017 11:40:29 +0800 Subject: [PATCH] feat(torrents): add torrent_vip method, route, policy of server side --- .../controllers/torrents.server.controller.js | 21 +++++++++++++++++++ .../server/policies/torrents.server.policy.js | 1 + .../server/routes/torrents.server.routes.js | 3 +++ 3 files changed, 25 insertions(+) diff --git a/modules/torrents/server/controllers/torrents.server.controller.js b/modules/torrents/server/controllers/torrents.server.controller.js index dee9d2b5..b7acac29 100644 --- a/modules/torrents/server/controllers/torrents.server.controller.js +++ b/modules/torrents/server/controllers/torrents.server.controller.js @@ -519,6 +519,27 @@ exports.toggleHnRStatus = function (req, res) { }); }; +/** + * toggleVIPStatus + * @param req + * @param res + */ +exports.toggleVIPStatus = function (req, res) { + var torrent = req.torrent; + + torrent.torrent_vip = !torrent.torrent_vip; + + torrent.save(function (err) { + if (err) { + return res.status(422).send({ + message: errorHandler.getErrorMessage(err) + }); + } else { + res.json(torrent); + } + }); +}; + /** * removeTorrentHnRWarning * @param torrent diff --git a/modules/torrents/server/policies/torrents.server.policy.js b/modules/torrents/server/policies/torrents.server.policy.js index 18763c6e..0effd679 100644 --- a/modules/torrents/server/policies/torrents.server.policy.js +++ b/modules/torrents/server/policies/torrents.server.policy.js @@ -27,6 +27,7 @@ exports.invokeRolesPolicies = function () { {resources: '/api/torrents/:torrentId/thumbsUp', permissions: '*'}, {resources: '/api/torrents/:torrentId/scrape', permissions: '*'}, {resources: '/api/torrents/:torrentId/toggleHnRStatus', permissions: '*'}, + {resources: '/api/torrents/:torrentId/toggleVIPStatus', 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 e710340f..e954a169 100644 --- a/modules/torrents/server/routes/torrents.server.routes.js +++ b/modules/torrents/server/routes/torrents.server.routes.js @@ -44,6 +44,9 @@ module.exports = function (app) { app.route('/api/torrents/:torrentId/toggleHnRStatus').all(torrentsPolicy.isAllowed) .put(torrents.toggleHnRStatus); + app.route('/api/torrents/:torrentId/toggleVIPStatus').all(torrentsPolicy.isAllowed) + .put(torrents.toggleVIPStatus); + app.route('/api/torrents/:torrentId/set/saletype/:saleType').all(torrentsPolicy.isAllowed) .put(torrents.setSaleType);