Don't show banned users on the leaderboard

This commit is contained in:
Ajay Ramachandran
2020-07-26 11:26:51 -04:00
parent 4bfa5e7de8
commit 986c9dcf5f
2 changed files with 7 additions and 2 deletions

View File

@@ -32,10 +32,13 @@ if (config.mysql) {
if (fs.existsSync(config.privateDBSchema)) privateDB.exec(fs.readFileSync(config.privateDBSchema).toString()); if (fs.existsSync(config.privateDBSchema)) privateDB.exec(fs.readFileSync(config.privateDBSchema).toString());
} }
// Upgrade database if required
if (!config.readOnly) { if (!config.readOnly) {
// Upgrade database if required
ugradeDB(db, "sponsorTimes"); ugradeDB(db, "sponsorTimes");
ugradeDB(privateDB, "private") ugradeDB(privateDB, "private")
// Attach private db to main db
db.prepare("ATTACH ? as privateDB").run(config.privateDB);
} }
// Enable WAL mode checkpoint number // Enable WAL mode checkpoint number

View File

@@ -44,7 +44,9 @@ module.exports = function getTopUsers (req, res) {
"SUM((sponsorTimes.endTime - sponsorTimes.startTime) / 60 * sponsorTimes.views) as minutesSaved, " + "SUM((sponsorTimes.endTime - sponsorTimes.startTime) / 60 * sponsorTimes.views) as minutesSaved, " +
additionalFields + additionalFields +
"IFNULL(userNames.userName, sponsorTimes.userID) as userName FROM sponsorTimes LEFT JOIN userNames ON sponsorTimes.userID=userNames.userID " + "IFNULL(userNames.userName, sponsorTimes.userID) as userName FROM sponsorTimes LEFT JOIN userNames ON sponsorTimes.userID=userNames.userID " +
"WHERE sponsorTimes.votes > -1 AND sponsorTimes.shadowHidden != 1 GROUP BY IFNULL(userName, sponsorTimes.userID) ORDER BY " + sortBy + " DESC LIMIT 100", []); "LEFT JOIN privateDB.shadowBannedUsers ON sponsorTimes.userID=privateDB.shadowBannedUsers.userID " +
"WHERE sponsorTimes.votes > -1 AND sponsorTimes.shadowHidden != 1 AND privateDB.shadowBannedUsers.userID IS NULL " +
"GROUP BY IFNULL(userName, sponsorTimes.userID) ORDER BY " + sortBy + " DESC LIMIT 100", []);
for (let i = 0; i < rows.length; i++) { for (let i = 0; i < rows.length; i++) {
userNames[i] = rows[i].userName; userNames[i] = rows[i].userName;