Compare commits
2 commits
a231c8fc4c
...
42ad17072f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42ad17072f | ||
|
|
e9b9539477 |
|
|
@ -152,50 +152,6 @@ 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
|
||||
|
|
@ -282,7 +238,7 @@ statSchema.statics.dropLegacyTokes = async function(){
|
|||
statDB.tokes = tokes;
|
||||
|
||||
//Save the stat document
|
||||
statDB.save();
|
||||
await statDB.save();
|
||||
|
||||
//Tell of our success
|
||||
console.log("Removed migration tokes!");
|
||||
|
|
@ -292,4 +248,36 @@ 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);
|
||||
|
|
@ -146,6 +146,8 @@ 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -311,13 +311,16 @@ 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: (await statModel.getStats()).firstLaunch,
|
||||
tokes: await statModel.getTokeCommandCounts(),
|
||||
tokeCount: await statModel.getTokeCount(),
|
||||
date: statDB.firstLaunch,
|
||||
tokes: await statDB.calculateTokeCommandCounts(),
|
||||
tokeCount: statDB.tokes.length,
|
||||
img: "/nonfree/johnny.png",
|
||||
signature: "!TOKE",
|
||||
bio: "!TOKE OR DIE!"
|
||||
|
|
|
|||
1
www/nonfree
Submodule
1
www/nonfree
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 8f3f78be454a156aa7b6a9a811cd656cf4bd80b2
|
||||
Loading…
Reference in a new issue