mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-09 15:19:50 +03:00
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import db from "./mongo";
|
|
import { LoggerLayers } from "../data/data";
|
|
import { CreateLayeredLogger } from "../utils/logger";
|
|
import type { DiscordUserMapDocument, QuoteDocument } from "./documents";
|
|
import type { integer } from "tachi-common";
|
|
|
|
const logger = CreateLayeredLogger(LoggerLayers.databaseQuery);
|
|
|
|
export function GetUserAndTokenForDiscordID(
|
|
discordID: string
|
|
): Promise<DiscordUserMapDocument | null> {
|
|
logger.verbose(`Fetching linked user & token with DiscordID: ${discordID}.`);
|
|
|
|
return db.discordUserMap.findOne({ discordID });
|
|
}
|
|
|
|
export async function GetUserIDForDiscordID(discordID: string): Promise<integer | null> {
|
|
logger.verbose(`Fetching linked user & token with DiscordID: ${discordID}.`);
|
|
|
|
const user = await db.discordUserMap.findOne({ discordID }, { projection: { userID: 1 } });
|
|
|
|
if (!user) {
|
|
return null;
|
|
}
|
|
|
|
return user.userID;
|
|
}
|
|
|
|
export function GetQuoteWithID(quoteID: string): Promise<QuoteDocument | null> {
|
|
logger.verbose(`Fetching quote with quoteID: ${quoteID}.`);
|
|
|
|
return db.quotes.findOne({ quoteID });
|
|
}
|