Files
vega-cloud/src/modules/user/queries/query.ts
T
2025-10-08 11:37:54 +07:00

53 lines
1.1 KiB
TypeScript

import { db } from '~/db'
export default abstract class Query {
static async listUser() {
const user = await db.query.users.findMany({
where: (u, { isNull }) => isNull(u.deletedAt),
})
return user
}
static async getUserById(id: number) {
const user = await db.query.users.findFirst({
columns: {
deletedAt: false,
},
where: (u, { and, eq, isNull }) => and(
eq(u.id, id),
isNull(u.deletedAt),
),
})
return user
}
static async getUserByEmail(email: string) {
const user = await db.query.users.findFirst({
columns: {
deletedAt: false,
},
where: (u, { and, eq, isNull }) => and(
eq(u.email, email),
isNull(u.deletedAt),
),
})
return user
}
static async getUserByName(name: string) {
const user = await db.query.users.findFirst({
columns: {
deletedAt: false,
},
where: (u, { and, eq, isNull }) => and(
eq(u.name, name),
isNull(u.deletedAt),
),
})
return user
}
}