Moved all db logic to db functions
This commit is contained in:
36
src/drizzle/functions/verifies.ts
Normal file
36
src/drizzle/functions/verifies.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { eq, or } from "drizzle-orm"
|
||||
import db from "../db.js"
|
||||
import { InsertVerify, verifies } from "../schema.js"
|
||||
|
||||
type VerifyDBData = Partial<Pick<InsertVerify, "userID" | "uuid">>
|
||||
|
||||
export async function addVerify(data: InsertVerify) {
|
||||
await db.insert(verifies).values(data)
|
||||
}
|
||||
|
||||
export async function getVerify(data: VerifyDBData) {
|
||||
const userId = data.userID ?? ""
|
||||
const uuid = data.uuid ?? ""
|
||||
|
||||
return await db.query.verifies.findFirst({
|
||||
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
|
||||
or(
|
||||
eq(dbUuid, uuid),
|
||||
eq(dbUserId, userId)
|
||||
))
|
||||
})
|
||||
}
|
||||
|
||||
export async function getVerifies() {
|
||||
return await db.query.verifies.findMany()
|
||||
}
|
||||
|
||||
export async function removeVerify(data: VerifyDBData) {
|
||||
const userId = data.userID ?? ""
|
||||
const uuid = data.uuid ?? ""
|
||||
|
||||
await db.delete(verifies).where(or(
|
||||
eq(verifies.userID, userId),
|
||||
eq(verifies.uuid, uuid)
|
||||
))
|
||||
}
|
||||
Reference in New Issue
Block a user