Files
drb-server/modules/mongo-wrappers/mongoDiscordIDWrappers.mjs
Logan Cusano 117cbea67f
All checks were successful
release-tag / release-image (push) Successful in 1m52s
Lint JavaScript/Node.js / lint-js (push) Successful in 11s
DRB Tests / drb_mocha_tests (push) Successful in 29s
Linting
2024-08-11 15:57:46 -04:00

91 lines
2.5 KiB
JavaScript

import { DebugBuilder } from "../../modules/debugger.mjs";
const log = new DebugBuilder("server", "mongoDiscordIDWrappers");
import {
insertDocument,
getDocuments,
connectToDatabase,
} from "./mongoHandler.mjs";
const collectionName = "discord-ids";
// Wrapper for inserting a Discord ID
export const createDiscordID = async (discordID) => {
try {
const insertedId = await insertDocument(collectionName, discordID);
return insertedId;
} catch (error) {
log.ERROR("Error creating Discord ID:", error);
throw error;
}
};
// Wrapper for retrieving all Discord IDs
export const getAllDiscordIDs = async () => {
try {
const discordIDs = await getDocuments(collectionName);
return discordIDs;
} catch (error) {
log.ERROR("Error getting all Discord IDs:", error);
throw error;
}
};
// Wrapper for retrieving a Discord ID by name or discord_id
export const getDiscordID = async (identifier) => {
const db = await connectToDatabase();
try {
const collection = db.db().collection(collectionName);
const discordID = await collection.findOne({
$or: [{ name: identifier }, { discord_id: identifier }],
});
return discordID;
} catch (error) {
log.ERROR("Error getting Discord ID:", error);
throw error;
} finally {
// Close the connection
await db.close();
}
};
// Wrapper for updating a Discord ID by name or discord_id
export const updateDiscordID = async (identifier, updatedFields) => {
const db = await connectToDatabase();
try {
const collection = db.db().collection(collectionName);
const result = await collection.updateOne(
{
$or: [{ name: identifier }, { discord_id: identifier }],
},
{ $set: updatedFields },
);
log.INFO("Discord ID updated:", result.modifiedCount);
return result.modifiedCount;
} catch (error) {
log.ERROR("Error updating Discord ID:", error);
throw error;
} finally {
// Close the connection
await db.close();
}
};
// Wrapper for deleting a Discord ID by name or discord_id
export const deleteDiscordID = async (identifier) => {
const db = await connectToDatabase();
try {
const collection = db.db().collection(collectionName);
const result = await collection.deleteOne({
$or: [{ name: identifier }, { discord_id: identifier }],
});
log.INFO("Discord ID deleted:", result.deletedCount);
return result.deletedCount;
} catch (error) {
log.ERROR("Error deleting Discord ID:", error);
throw error;
} finally {
// Close the connection
await db.close();
}
};