46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import main from '../index';
|
|
const { db } = main;
|
|
|
|
/**
|
|
* To-Do:
|
|
* - Remove invalid entries from usersDB
|
|
* - Clean up seenMessages DB
|
|
*/
|
|
|
|
// Deletes old, unneeded entries from the database
|
|
const run = async () => {
|
|
// Known lessons DB
|
|
try {
|
|
let deleted = 0;
|
|
db.knownLessons.forEach(userDB => {
|
|
Object.entries(userDB).forEach(data => {
|
|
let key: string | number = data[0];
|
|
let entry: any = data[1];
|
|
if (!entry.date || unfuckDate(entry.date).getTime() < Date.now() - (86400000 * 2)) {
|
|
deleted++;
|
|
db.knownLessons.delete(key);
|
|
}
|
|
});
|
|
});
|
|
if (deleted > 0) console.log(`Cleared ${deleted} entries from knownLessons`);
|
|
} catch(e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
|
|
let unfuckDate = (date: number): Date => {
|
|
let dateInfo = {
|
|
year: Number(`${date}`.substr(0, 4)),
|
|
month: Number(`${date}`.substr(4, 2)),
|
|
day: Number(`${date}`.substr(6, 2))
|
|
}
|
|
let newDate = new Date()
|
|
newDate.setFullYear(dateInfo.year);
|
|
newDate.setMonth(dateInfo.month - 1);
|
|
newDate.setDate(dateInfo.day);
|
|
|
|
return newDate;
|
|
}
|
|
|
|
run();
|
|
setInterval(run, 1000 * 60 * 60 * 12); // Run every 12 hours
|