91 lines
2.5 KiB
JavaScript
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();
|
|
}
|
|
};
|