flnxi-Wu/lib/admin-permissions.ts
2026-05-25 14:32:52 +08:00

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)
}