import type { JSX } from "react" import { notFound } from "next/navigation" import { requirePermission } from "@/shared/lib/auth-guard" import { Permissions } from "@/shared/types/permissions" import { getCoursePlanById } from "@/modules/course-plans/data-access" import { CoursePlanDetail } from "@/modules/course-plans/components/course-plan-detail" export const dynamic = "force-dynamic" export default async function TeacherCoursePlanDetailPage({ params, }: { params: Promise<{ id: string }> }): Promise { const ctx = await requirePermission(Permissions.COURSE_PLAN_READ) const { id } = await params // P0-1/P0-3:教师视角仅能查看自己负责的计划,避免信息泄露 const plan = await getCoursePlanById( id, { userId: ctx.userId, isAdmin: false, teacherId: ctx.userId } ) if (!plan) notFound() return (
) }