diff --git a/src/schemas/statSchema.js b/src/schemas/statSchema.js index ab737a0..f615703 100644 --- a/src/schemas/statSchema.js +++ b/src/schemas/statSchema.js @@ -152,6 +152,50 @@ statSchema.statics.tattooToke = async function(toke){ await stats.save(); } +/** + * Gets toke count from statistics document + * @returns {Number} Number of tokes across the entire site + */ +statSchema.statics.getTokeCount = async function(){ + //get stats doc + const stats = await this.getStats(); + + //return toke count + return stats.tokes.length; +} + +/** + * Gets toke counts for each individual callout in a map + * @returns {Map} Map of toke counts for each individual callout registered to the server + */ +statSchema.statics.getTokeCommandCounts = async function(){ + //get stats doc + const stats = await this.getStats() + //Create empty map to hold toke command counts + const count = new Map(); + + //for each toke + stats.tokes.forEach((toke) => { + //For each toke command called in the current toke + toke.toke.forEach((command) => { + //Get the current count for the current command + var curCount = count.get(command); + + //if the current count is null + if(curCount == null){ + //Set it to one + count.set(command, 1); + }else{ + //Set it to ++curCount + count.set(command, curCount + 1); + } + }); + }); + + //return the toke command count + return count; +} + /** * Ingests legacy tokes handed over by the migration model * @param {Array} rawLegacyTokes - List of strings containing contents of legacy cytube/fore.st toke logs @@ -238,7 +282,7 @@ statSchema.statics.dropLegacyTokes = async function(){ statDB.tokes = tokes; //Save the stat document - await statDB.save(); + statDB.save(); //Tell of our success console.log("Removed migration tokes!"); @@ -248,36 +292,4 @@ statSchema.statics.dropLegacyTokes = async function(){ } -//Methods - -/** - * Gets toke counts for each individual callout in a map - * @returns {Map} Map of toke counts for each individual callout registered to the server - */ -statSchema.methods.calculateTokeCommandCounts = async function(){ - //Create empty map to hold toke command counts - const count = new Map(); - - //for each toke - this.tokes.forEach((toke) => { - //For each toke command called in the current toke - toke.toke.forEach((command) => { - //Get the current count for the current command - var curCount = count.get(command); - - //if the current count is null - if(curCount == null){ - //Set it to one - count.set(command, 1); - }else{ - //Set it to ++curCount - count.set(command, curCount + 1); - } - }); - }); - - //return the toke command count - return count; -} - module.exports = mongoose.model("statistics", statSchema); \ No newline at end of file diff --git a/src/schemas/user/migrationSchema.js b/src/schemas/user/migrationSchema.js index 8ae54f7..1be7b73 100644 --- a/src/schemas/user/migrationSchema.js +++ b/src/schemas/user/migrationSchema.js @@ -146,8 +146,6 @@ migrationSchema.statics.ingestLegacyDump = async function(){ //Pass toke logs over to the stat model for further ingestion await statModel.ingestLegacyTokes(tokeLogs); - - loggerUtils.consoleWarn(`Legacy Server Migration Completed at: ${new Date().toLocaleString()}`); }catch(err){ return loggerUtils.localExceptionHandler(err); } diff --git a/src/schemas/user/userSchema.js b/src/schemas/user/userSchema.js index bf7af99..d456127 100644 --- a/src/schemas/user/userSchema.js +++ b/src/schemas/user/userSchema.js @@ -311,16 +311,13 @@ userSchema.statics.findProfile = async function(user, includeEmail = false){ return null; //If someone's looking for tokebot }else if(user.user.toLowerCase() == "tokebot"){ - //Pull statistics document from the database - const statDB = await statModel.getStats(); - //fake a profile hashtable for tokebot const profile = { id: -420, user: "Tokebot", - date: statDB.firstLaunch, - tokes: await statDB.calculateTokeCommandCounts(), - tokeCount: statDB.tokes.length, + date: (await statModel.getStats()).firstLaunch, + tokes: await statModel.getTokeCommandCounts(), + tokeCount: await statModel.getTokeCount(), img: "/nonfree/johnny.png", signature: "!TOKE", bio: "!TOKE OR DIE!" diff --git a/www/nonfree b/www/nonfree deleted file mode 160000 index 8f3f78b..0000000 --- a/www/nonfree +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8f3f78be454a156aa7b6a9a811cd656cf4bd80b2