Yet more UserProps usage
This commit is contained in:
parent
4050affedf
commit
d11aca571e
|
@ -847,6 +847,8 @@ function peg$parse(input, options) {
|
|||
const client = options.client;
|
||||
const user = options.client.user;
|
||||
|
||||
const UserProps = require('./user_property.js');
|
||||
|
||||
const moment = require('moment');
|
||||
|
||||
function checkAccess(acsCode, value) {
|
||||
|
@ -863,7 +865,7 @@ function peg$parse(input, options) {
|
|||
value = [ value ];
|
||||
}
|
||||
|
||||
const userAccountStatus = parseInt(user.properties.account_status, 10);
|
||||
const userAccountStatus = user.getPropertyAsNumber(UserProps.AccountStatus);
|
||||
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
||||
},
|
||||
EC : function isEncoding() {
|
||||
|
@ -888,15 +890,15 @@ function peg$parse(input, options) {
|
|||
return value.map(n => parseInt(n, 10)).includes(client.node);
|
||||
},
|
||||
NP : function numberOfPosts() {
|
||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
||||
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||
return !isNaN(value) && postCount >= value;
|
||||
},
|
||||
NC : function numberOfCalls() {
|
||||
const loginCount = parseInt(user.properties.login_count, 10);
|
||||
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount);
|
||||
return !isNaN(value) && loginCount >= value;
|
||||
},
|
||||
AA : function accountAge() {
|
||||
const accountCreated = moment(user.properties.account_created);
|
||||
const accountCreated = moment(user.getProperty(UserProps.AccountCreated));
|
||||
const now = moment();
|
||||
const daysOld = accountCreated.diff(moment(), 'days');
|
||||
return !isNaN(value) &&
|
||||
|
@ -905,36 +907,36 @@ function peg$parse(input, options) {
|
|||
daysOld >= value;
|
||||
},
|
||||
BU : function bytesUploaded() {
|
||||
const bytesUp = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
||||
const bytesUp = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||
return !isNaN(value) && bytesUp >= value;
|
||||
},
|
||||
UP : function uploads() {
|
||||
const uls = parseInt(user.properties.ul_total_count, 10) || 0;
|
||||
const uls = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||
return !isNaN(value) && uls >= value;
|
||||
},
|
||||
BD : function bytesDownloaded() {
|
||||
const bytesDown = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
||||
const bytesDown = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||
return !isNaN(value) && bytesDown >= value;
|
||||
},
|
||||
DL : function downloads() {
|
||||
const dls = parseInt(user.properties.dl_total_count, 10) || 0;
|
||||
const dls = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||
return !isNaN(value) && dls >= value;
|
||||
},
|
||||
NR : function uploadDownloadRatioGreaterThan() {
|
||||
const ulCount = parseInt(user.properties.ul_total_count, 10) || 0;
|
||||
const dlCount = parseInt(user.properties.dl_total_count, 10) || 0;
|
||||
const ulCount = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||
const dlCount = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||
const ratio = ~~((ulCount / dlCount) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
KR : function uploadDownloadByteRatioGreaterThan() {
|
||||
const ulBytes = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
||||
const dlBytes = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
||||
const ulBytes = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||
const dlBytes = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||
const ratio = ~~((ulBytes / dlBytes) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
PC : function postCallRatio() {
|
||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
||||
const loginCount = parseInt(user.properties.login_count, 10);
|
||||
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount) || 0;
|
||||
const ratio = ~~((postCount / loginCount) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
|
|
|
@ -85,6 +85,8 @@ module.exports = class DropFile {
|
|||
const prop = this.client.user.properties;
|
||||
const now = moment();
|
||||
const secLevel = this.client.user.getLegacySecurityLevel().toString();
|
||||
const fullName = prop[UserProps.RealName] || this.client.user.username;
|
||||
const bd = moment(prop[UserProp.Birthdate).format('MM/DD/YY');
|
||||
|
||||
// :TODO: fix time remaining
|
||||
// :TODO: fix default protocol -- user prop: transfer_protocol
|
||||
|
@ -98,13 +100,13 @@ module.exports = class DropFile {
|
|||
'Y', // "Printer Toggle - Y=On N=Off (Default to Y)"
|
||||
'Y', // "Page Bell - Y=On N=Off (Default to Y)"
|
||||
'Y', // "Caller Alarm - Y=On N=Off (Default to Y)"
|
||||
prop.real_name || this.client.user.username, // "User Full Name"
|
||||
prop.location || 'Anywhere', // "Calling From"
|
||||
fullName, // "User Full Name"
|
||||
prop[UserProps.Location]|| 'Anywhere', // "Calling From"
|
||||
'123-456-7890', // "Home Phone"
|
||||
'123-456-7890', // "Work/Data Phone"
|
||||
'NOPE', // "Password" (Note: this is never given out or even stored plaintext)
|
||||
secLevel, // "Security Level"
|
||||
prop.login_count.toString(), // "Total Times On"
|
||||
prop[UserProps.LoginCount].toString(), // "Total Times On"
|
||||
now.format('MM/DD/YY'), // "Last Date Called"
|
||||
'15360', // "Seconds Remaining THIS call (for those that particular)"
|
||||
'256', // "Minutes Remaining THIS call"
|
||||
|
@ -121,7 +123,7 @@ module.exports = class DropFile {
|
|||
'0', // "Total Downloads"
|
||||
'0', // "Daily Download "K" Total"
|
||||
'999999', // "Daily Download Max. "K" Limit"
|
||||
moment(prop.birthdate).format('MM/DD/YY'), // "Caller's Birthdate"
|
||||
bd, // "Caller's Birthdate"
|
||||
'X:\\MAIN\\', // "Path to the MAIN directory (where User File is)"
|
||||
'X:\\GEN\\', // "Path to the GEN directory"
|
||||
StatLog.getSystemStat('sysop_username'), // "Sysop's Name (name BBS refers to Sysop as)"
|
||||
|
@ -142,7 +144,7 @@ module.exports = class DropFile {
|
|||
'0', // "Files d/led so far today"
|
||||
'0', // "Total "K" Bytes Uploaded"
|
||||
'0', // "Total "K" Bytes Downloaded"
|
||||
prop.user_comment || 'None', // "User Comment"
|
||||
prop[UserProps.UserComment] || 'None', // "User Comment"
|
||||
'0', // "Total Doors Opened"
|
||||
'0', // "Total Messages Left"
|
||||
|
||||
|
|
|
@ -480,7 +480,7 @@ exports.FullScreenEditorModule = exports.getModule = class FullScreenEditorModul
|
|||
}
|
||||
|
||||
Events.emit(Events.getSystemEvents().UserPostMessage, { user : this.client.user, areaTag : this.message.areaTag });
|
||||
return StatLog.incrementUserStat(this.client.user, 'post_count', 1, cb);
|
||||
return StatLog.incrementUserStat(this.client.user, UserProps.MessagePostCount, 1, cb);
|
||||
}
|
||||
|
||||
redrawFooter(options, cb) {
|
||||
|
|
|
@ -81,18 +81,18 @@ const PREDEFINED_MCI_GENERATORS = {
|
|||
UN : function userName(client) { return client.user.username; },
|
||||
UI : function userId(client) { return client.user.userId.toString(); },
|
||||
UG : function groups(client) { return _.values(client.user.groups).join(', '); },
|
||||
UR : function realName(client) { return userStatAsString(client, 'real_name', ''); },
|
||||
LO : function location(client) { return userStatAsString(client, 'location', ''); },
|
||||
UR : function realName(client) { return userStatAsString(client, UserProps.RealName, ''); },
|
||||
LO : function location(client) { return userStatAsString(client, UserProps.Location, ''); },
|
||||
UA : function age(client) { return client.user.getAge().toString(); },
|
||||
BD : function birthdate(client) { // iNiQUiTY
|
||||
return moment(client.user.properties[UserProps.Birthdate]).format(client.currentTheme.helpers.getDateFormat());
|
||||
},
|
||||
US : function sex(client) { return userStatAsString(client, 'sex', ''); },
|
||||
UE : function emailAddres(client) { return userStatAsString(client, 'email_address', ''); },
|
||||
UW : function webAddress(client) { return userStatAsString(client, 'web_address', ''); },
|
||||
UF : function affils(client) { return userStatAsString(client, 'affiliation', ''); },
|
||||
UT : function themeId(client) { return userStatAsString(client, 'theme_id', ''); },
|
||||
UC : function loginCount(client) { return userStatAsString(client, 'login_count', 0); },
|
||||
US : function sex(client) { return userStatAsString(client, UserProps.Sex, ''); },
|
||||
UE : function emailAddres(client) { return userStatAsString(client, UserProps.EmailAddress, ''); },
|
||||
UW : function webAddress(client) { return userStatAsString(client, UserProps.WebAddress, ''); },
|
||||
UF : function affils(client) { return userStatAsString(client, UserProps.Affiliations, ''); },
|
||||
UT : function themeId(client) { return userStatAsString(client, UserProps.ThemeId, ''); },
|
||||
UC : function loginCount(client) { return userStatAsString(client, UserProps.LoginCount, 0); },
|
||||
ND : function connectedNode(client) { return client.node.toString(); },
|
||||
IP : function clientIpAddress(client) { return client.remoteAddress.replace(/^::ffff:/, ''); }, // convert any :ffff: IPv4's to 32bit version
|
||||
ST : function serverName(client) { return client.session.serverName; },
|
||||
|
@ -100,28 +100,28 @@ const PREDEFINED_MCI_GENERATORS = {
|
|||
const activeFilter = FileBaseFilters.getActiveFilter(client);
|
||||
return activeFilter ? activeFilter.name : '(Unknown)';
|
||||
},
|
||||
DN : function userNumDownloads(client) { return userStatAsString(client, 'dl_total_count', 0); }, // Obv/2
|
||||
DN : function userNumDownloads(client) { return userStatAsString(client, UserProps.FileDlTotalCount, 0); }, // Obv/2
|
||||
DK : function userByteDownload(client) { // Obv/2 uses DK=downloaded Kbytes
|
||||
const byteSize = StatLog.getUserStatNum(client.user, 'dl_total_bytes');
|
||||
const byteSize = StatLog.getUserStatNum(client.user, UserProps.FileDlTotalBytes);
|
||||
return formatByteSize(byteSize, true); // true=withAbbr
|
||||
},
|
||||
UP : function userNumUploads(client) { return userStatAsString(client, 'ul_total_count', 0); }, // Obv/2
|
||||
UP : function userNumUploads(client) { return userStatAsString(client, UserProps.FileUlTotalCount, 0); }, // Obv/2
|
||||
UK : function userByteUpload(client) { // Obv/2 uses UK=uploaded Kbytes
|
||||
const byteSize = StatLog.getUserStatNum(client.user, 'ul_total_bytes');
|
||||
const byteSize = StatLog.getUserStatNum(client.user, UserProps.FileUlTotalBytes);
|
||||
return formatByteSize(byteSize, true); // true=withAbbr
|
||||
},
|
||||
NR : function userUpDownRatio(client) { // Obv/2
|
||||
return getUserRatio(client, 'ul_total_count', 'dl_total_count');
|
||||
return getUserRatio(client, UserProps.FileUlTotalCount, UserProps.FileDlTotalCount);
|
||||
},
|
||||
KR : function userUpDownByteRatio(client) { // Obv/2 uses KR=upload/download Kbyte ratio
|
||||
return getUserRatio(client, 'ul_total_bytes', 'dl_total_bytes');
|
||||
return getUserRatio(client, UserProps.FileUlTotalBytes, UserProps.FileDlTotalBytes);
|
||||
},
|
||||
|
||||
MS : function accountCreatedclient(client) {
|
||||
return moment(client.user.properties[UserProps.AccountCreated]).format(client.currentTheme.helpers.getDateFormat());
|
||||
},
|
||||
PS : function userPostCount(client) { return userStatAsString(client, 'post_count', 0); },
|
||||
PC : function userPostCallRatio(client) { return getUserRatio(client, 'post_count', 'login_count'); },
|
||||
PS : function userPostCount(client) { return userStatAsString(client, UserProps.MessagePostCount, 0); },
|
||||
PC : function userPostCallRatio(client) { return getUserRatio(client, UserProps.MessagePostCount, UserProps.LoginCount); },
|
||||
|
||||
MD : function currentMenuDescription(client) {
|
||||
return _.has(client, 'currentMenuModule.menuConfig.desc') ? client.currentMenuModule.menuConfig.desc : '';
|
||||
|
|
|
@ -26,6 +26,7 @@ module.exports = {
|
|||
AccountCreated : 'account_created',
|
||||
LastLoginTs : 'last_login_timestamp',
|
||||
LoginCount : 'login_count',
|
||||
UserComment : 'user_comment', // NYI
|
||||
|
||||
DownloadQueue : 'dl_queue', // download_queue.js
|
||||
|
||||
|
@ -40,8 +41,13 @@ module.exports = {
|
|||
FileBaseFilters : 'file_base_filters',
|
||||
FileBaseFilterActiveUuid : 'file_base_filter_active_uuid',
|
||||
FileBaseLastViewedId : 'user_file_base_last_viewed',
|
||||
FileDlTotalCount : 'dl_total_count',
|
||||
FileUlTotalCount : 'ul_total_count',
|
||||
FileDlTotalBytes : 'dl_total_bytes',
|
||||
FileUlTotalBytes : 'ul_total_bytes',
|
||||
|
||||
MessageConfTag : 'message_conf_tag',
|
||||
MessageAreaTag : 'message_area_tag',
|
||||
MessagePostCount : 'post_count',
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
const client = options.client;
|
||||
const user = options.client.user;
|
||||
|
||||
const UserProps = require('./user_property.js');
|
||||
|
||||
const moment = require('moment');
|
||||
|
||||
function checkAccess(acsCode, value) {
|
||||
|
@ -19,7 +21,7 @@
|
|||
value = [ value ];
|
||||
}
|
||||
|
||||
const userAccountStatus = parseInt(user.properties.account_status, 10);
|
||||
const userAccountStatus = user.getPropertyAsNumber(UserProps.AccountStatus);
|
||||
return value.map(n => parseInt(n, 10)).includes(userAccountStatus);
|
||||
},
|
||||
EC : function isEncoding() {
|
||||
|
@ -44,15 +46,15 @@
|
|||
return value.map(n => parseInt(n, 10)).includes(client.node);
|
||||
},
|
||||
NP : function numberOfPosts() {
|
||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
||||
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||
return !isNaN(value) && postCount >= value;
|
||||
},
|
||||
NC : function numberOfCalls() {
|
||||
const loginCount = parseInt(user.properties.login_count, 10);
|
||||
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount);
|
||||
return !isNaN(value) && loginCount >= value;
|
||||
},
|
||||
AA : function accountAge() {
|
||||
const accountCreated = moment(user.properties.account_created);
|
||||
const accountCreated = moment(user.getProperty(UserProps.AccountCreated));
|
||||
const now = moment();
|
||||
const daysOld = accountCreated.diff(moment(), 'days');
|
||||
return !isNaN(value) &&
|
||||
|
@ -61,36 +63,36 @@
|
|||
daysOld >= value;
|
||||
},
|
||||
BU : function bytesUploaded() {
|
||||
const bytesUp = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
||||
const bytesUp = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||
return !isNaN(value) && bytesUp >= value;
|
||||
},
|
||||
UP : function uploads() {
|
||||
const uls = parseInt(user.properties.ul_total_count, 10) || 0;
|
||||
const uls = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||
return !isNaN(value) && uls >= value;
|
||||
},
|
||||
BD : function bytesDownloaded() {
|
||||
const bytesDown = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
||||
const bytesDown = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||
return !isNaN(value) && bytesDown >= value;
|
||||
},
|
||||
DL : function downloads() {
|
||||
const dls = parseInt(user.properties.dl_total_count, 10) || 0;
|
||||
const dls = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||
return !isNaN(value) && dls >= value;
|
||||
},
|
||||
NR : function uploadDownloadRatioGreaterThan() {
|
||||
const ulCount = parseInt(user.properties.ul_total_count, 10) || 0;
|
||||
const dlCount = parseInt(user.properties.dl_total_count, 10) || 0;
|
||||
const ulCount = user.getPropertyAsNumber(UserProps.FileUlTotalCount) || 0;
|
||||
const dlCount = user.getPropertyAsNumber(UserProps.FileDlTotalCount) || 0;
|
||||
const ratio = ~~((ulCount / dlCount) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
KR : function uploadDownloadByteRatioGreaterThan() {
|
||||
const ulBytes = parseInt(user.properties.ul_total_bytes, 10) || 0;
|
||||
const dlBytes = parseInt(user.properties.dl_total_bytes, 10) || 0;
|
||||
const ulBytes = user.getPropertyAsNumber(UserProps.FileUlTotalBytes) || 0;
|
||||
const dlBytes = user.getPropertyAsNumber(UserProps.FileDlTotalBytes) || 0;
|
||||
const ratio = ~~((ulBytes / dlBytes) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
PC : function postCallRatio() {
|
||||
const postCount = parseInt(user.properties.post_count, 10) || 0;
|
||||
const loginCount = parseInt(user.properties.login_count, 10);
|
||||
const postCount = user.getPropertyAsNumber(UserProps.PostCount) || 0;
|
||||
const loginCount = user.getPropertyAsNumber(UserProps.LoginCount) || 0;
|
||||
const ratio = ~~((postCount / loginCount) * 100);
|
||||
return !isNaN(value) && ratio >= value;
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue