Skip to content

Commit

Permalink
write up/down bytes with VIP Ur/Dr
Browse files Browse the repository at this point in the history
  • Loading branch information
taobataoma committed Apr 18, 2017
1 parent a9c516f commit 958d755
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 5 deletions.
9 changes: 8 additions & 1 deletion config/env/torrents.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ module.exports = {
{name: 'SEALED', value: 'sealed'}
]
},
userRoles: ['user', 'uploader', 'op', 'admin'],
clientBlackList: [
{name: 'Transmission/2.93'},
{name: 'Mozilla'},
Expand All @@ -61,7 +62,13 @@ module.exports = {
{name: 'U3/D1'}
]
},
torrentGlobalSalesValue: undefined,
torrentSalesValue: {
global: undefined,
vip: {
Ur: 1.25,
Dr: 0
}
},
tmdbConfig: {
tmdb_link_url: 'https://www.themoviedb.org/movie/',
//please change it to your api key from themoviedb.org
Expand Down
25 changes: 23 additions & 2 deletions modules/announce/server/controllers/announces.server.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,11 @@ exports.announce = function (req, res) {
var u = Math.round(curru * udr.ur);
var d = Math.round(currd * udr.dr);

if (req.passkeyuser.is_vip) {
u = u * config.meanTorrentConfig.torrentSalesValue.vip.Ur;
d = d * config.meanTorrentConfig.torrentSalesValue.vip.Dr;
}

if (event(query.event) !== EVENT_STOPPED) {
if (req.currentPeer === undefined) {
createCurrentPeer();
Expand Down Expand Up @@ -537,8 +542,8 @@ exports.announce = function (req, res) {
var udr = {};
var sale = req.torrent.torrent_sale_status;

if (config.meanTorrentConfig.torrentGlobalSalesValue !== undefined) {
sale = config.meanTorrentConfig.torrentGlobalSalesValue;
if (config.meanTorrentConfig.torrentSalesValue.global !== undefined) {
sale = config.meanTorrentConfig.torrentSalesValue.global;
}

switch (sale) {
Expand Down Expand Up @@ -695,6 +700,21 @@ exports.announce = function (req, res) {
}
};

/**
* get user isVip status
* @param u
* @returns {boolean}
*/
function isVip(u) {
if (!u.vip_start_at || !u.vip_end_at) {
return false;
} else if (moment(Date.now()) > moment(u.vip_end_at)) {
return false;
} else {
return true;
}
}

/**
* userByPasskey
* @param req
Expand All @@ -708,6 +728,7 @@ exports.userByPasskey = function (req, res, next, pk) {
.exec(function (err, u) {
if (u) {
req.passkeyuser = u;
req.passkeyuser.is_vip = isVip(req.user);
} else {
req.passkeyuser = undefined;
}
Expand Down
6 changes: 4 additions & 2 deletions modules/core/client/services/menu.client.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@
.module('core')
.factory('menuService', menuService);

function menuService() {
menuService.$inject = ['MeanTorrentConfig'];

function menuService(MeanTorrentConfig) {
var shouldRender;
var service = {
addMenu: addMenu,
addMenuItem: addMenuItem,
addSubMenuItem: addSubMenuItem,
defaultRoles: ['user', 'admin'],
defaultRoles: MeanTorrentConfig.meanTorrentConfig.userRoles,
getMenu: getMenu,
menus: {},
removeMenu: removeMenu,
Expand Down
20 changes: 20 additions & 0 deletions modules/core/server/controllers/core.server.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

var validator = require('validator'),
path = require('path'),
moment = require('moment'),
config = require(path.resolve('./config/config'));

/**
Expand All @@ -17,6 +18,10 @@ exports.renderIndex = function (req, res) {
created: req.user.created.toString(),
roles: req.user.roles,
passkey: req.user.passkey,
vip_start_at: req.user.vip_start_at,
vip_end_at: req.user.vip_end_at,
is_vip: isVip(req.user),
score: req.score,
profileImageURL: req.user.profileImageURL,
email: validator.escape(req.user.email),
lastName: validator.escape(req.user.lastName),
Expand All @@ -32,6 +37,21 @@ exports.renderIndex = function (req, res) {
});
};

/**
* get user isVip status
* @param u
* @returns {boolean}
*/
function isVip(u) {
if (!u.vip_start_at || !u.vip_end_at) {
return false;
} else if (moment(Date.now()) > moment(u.vip_end_at)) {
return false;
} else {
return true;
}
}

/**
* Render the server error page
*/
Expand Down

0 comments on commit 958d755

Please sign in to comment.