30 lines
715 B
TypeScript
30 lines
715 B
TypeScript
import { prisma } from '@/lib/prisma'
|
|
|
|
export async function isCurrentAdmin(session: unknown): Promise<boolean> {
|
|
const userId = (session as any)?.user?.id
|
|
if (!userId) {
|
|
return false
|
|
}
|
|
|
|
const user = await prisma.user.findUnique({
|
|
where: { id: userId },
|
|
select: { role: true, isSuperAdmin: true },
|
|
})
|
|
|
|
return Boolean(user && (user.role === 'ADMIN' || user.isSuperAdmin))
|
|
}
|
|
|
|
export async function isCurrentSuperAdmin(session: unknown): Promise<boolean> {
|
|
const userId = (session as any)?.user?.id
|
|
if (!userId) {
|
|
return false
|
|
}
|
|
|
|
const user = await prisma.user.findUnique({
|
|
where: { id: userId },
|
|
select: { isSuperAdmin: true },
|
|
})
|
|
|
|
return Boolean(user?.isSuperAdmin)
|
|
}
|