Moved all db logic to db functions

This commit is contained in:
2024-10-25 19:52:34 +02:00
parent d206703098
commit f2aa84f8a5
28 changed files with 244 additions and 73 deletions

View File

@@ -0,0 +1,32 @@
import { eq, or } from "drizzle-orm"
import db from "../db.js"
import { guildApps, InsertGuildApp } from "../schema.js"
type GuildAppDBData = Partial<Pick<InsertGuildApp, "userID" | "uuid">>
export async function addGuildApp(data: InsertGuildApp) {
await db.insert(guildApps).values(data)
}
export async function getGuildApp(data: GuildAppDBData) {
const userId = data.userID ?? ""
const uuid = data.uuid ?? ""
return await db.query.guildApps.findFirst({
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
or(
eq(dbUuid, uuid),
eq(dbUserId, userId)
))
})
}
export async function removeGuildApp(data: GuildAppDBData) {
const userId = data.userID ?? ""
const uuid = data.uuid ?? ""
await db.delete(guildApps).where(or(
eq(guildApps.userID, userId),
eq(guildApps.uuid, uuid)
))
}