Delete bot dal (#2953)

This commit is contained in:
Bruce Berrios 2022-05-06 18:36:23 -04:00 committed by GitHub
parent d9ffcfb4ee
commit ee5ef57d89
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,78 +0,0 @@
import { InsertManyResult, InsertOneResult } from "mongodb";
import * as db from "../init/db";
async function addTask(
task,
taskArgs
): Promise<InsertOneResult<any>> {
return await db.collection<any>("bot-tasks").insertOne({
name: task,
args: taskArgs,
requestTimestamp: Date.now(),
});
}
async function addTasks(
tasks,
taskArgs
): Promise<void | InsertManyResult> {
if (tasks.length === 0 || tasks.length !== taskArgs.length) {
return;
}
const normalizedTasks = tasks.map((task, index) => {
return {
name: task,
args: taskArgs[index],
requestTimestamp: Date.now(),
};
});
return await db.collection("bot-tasks").insertMany(normalizedTasks);
}
export async function updateDiscordRole(
discordId,
wpm
): Promise<InsertOneResult> {
return await addTask("updateRole", [discordId, wpm]);
}
export async function linkDiscord(uid, discordId): Promise<InsertOneResult> {
return await addTask("linkDiscord", [discordId, uid]);
}
export async function unlinkDiscord(uid, discordId): Promise<InsertOneResult> {
return await addTask("unlinkDiscord", [discordId, uid]);
}
export async function awardChallenge(
discordId,
challengeName
): Promise<InsertOneResult> {
return await addTask("awardChallenge", [discordId, challengeName]);
}
export async function announceLeaderboardUpdate(
newRecords,
leaderboardId
): Promise<InsertManyResult | void> {
if (newRecords.length === 0) {
return;
}
const leaderboardTasks = Array(newRecords.length).fill("sayLbUpdate");
const leaderboardTaskArgs = newRecords.map((newRecord) => {
return [
newRecord.discordId ?? newRecord.name,
newRecord.rank,
leaderboardId,
newRecord.wpm,
newRecord.raw,
newRecord.acc,
newRecord.consistency,
];
});
return await addTasks(leaderboardTasks, leaderboardTaskArgs);
}