import { prisma } from "@/lib/prisma"; import { getServerSession } from "next-auth/next"; import { authOptions } from "@/lib/auth-config"; import { redirect } from "next/navigation"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { z } from "zod"; export const dynamic = "force-dynamic"; const schema = z.object({ name: z.string().min(2), level: z.string().min(1), }); async function createClass(formData: FormData) { "use server"; const session = await getServerSession(authOptions); if (!session?.user) redirect("/login"); if (!session.user.establishmentId) redirect("/dashboard"); const parsed = schema.safeParse(Object.fromEntries(formData)); if (!parsed.success) return; await prisma.class.create({ data: { name: parsed.data.name, level: parsed.data.level, establishment: { connect: { id: session.user.establishmentId } }, }, }); redirect("/dashboard/classes"); } export default async function NewClassPage() { const session = await getServerSession(authOptions); if (!session?.user) redirect("/login"); if (!session.user.establishmentId) redirect("/dashboard"); return (

Nouvelle classe

Créer une classe
); }