import type { Metadata } from "next"; import { cookies } from "next/headers"; import { authCookieHeader } from "@/lib/cookies"; import { fetchAdminUserAudit } from "@/lib/api"; import { getMeCached } from "@/lib/serverData"; import { isOwner, isSuperOrOwner } from "@/lib/roles"; import Forbidden from "../../Forbidden"; import UserAuditClient from "./UserAuditClient"; export const metadata: Metadata = { title: "用户内容档案", }; interface PageProps { params: Promise<{ id: string }>; } export default async function AdminUserAuditPage({ params }: PageProps) { const { id: idRaw } = await params; const userId = parseInt(idRaw, 10); if (!Number.isFinite(userId) || userId <= 0) { return ; } const cookie = authCookieHeader(await cookies()); const me = await getMeCached(cookie || undefined); if (!me.user || !isSuperOrOwner(me.user.role)) { return ; } if (!isOwner(me.user.role)) { return ; } let profile; try { profile = await fetchAdminUserAudit(userId, cookie || undefined); } catch (e) { const msg = e instanceof Error ? e.message : "获取用户档案失败"; return ; } return ; }