import { getServerSession } from "next-auth" import { authOptions } from "@/lib/auth" import { prisma } from "@/lib/prisma" export default async function ModDashboardPage() { const session = await getServerSession(authOptions) const novelWhere = session?.user.role === "ADMIN" ? {} : { OR: [ { uploaderId: session?.user.id }, { uploaderId: null }, ], } const [novelCount, novelViewsAgg, commentCount, seriesCount] = await Promise.all([ prisma.novel.count({ where: novelWhere }), prisma.novel.aggregate({ where: novelWhere, _sum: { views: true }, }), prisma.comment.count({ where: { novel: novelWhere, }, }), prisma.series.count({ where: session?.user.role === "ADMIN" ? {} : { OR: [ { novels: { some: { uploaderId: session?.user.id } } }, { novels: { some: { uploaderId: null } } }, { novels: { none: {} } }, ], }, }), ]) const totalViews = novelViewsAgg._sum.views || 0 return (

Xin chào, {session?.user.name}

Chào mừng bạn đến với trang quản trị dành cho Moderator.

Tổng truyện

{novelCount}

Tổng lượt xem

{totalViews}

Bình luận mới

{commentCount}

Tổng series

{seriesCount}

) }