import { prisma } from "@/lib/prisma"; import { getServerSession } from "next-auth/next"; import { authOptions } from "@/lib/auth-config"; import { redirect } from "next/navigation"; import Link from "next/link"; import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from "@/components/ui/table"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; export const dynamic = "force-dynamic"; export default async function UsersPage() { const session = await getServerSession(authOptions); if (!session?.user) redirect("/login"); const isSuperadmin = session.user.role === "superadmin"; const establishmentId = session.user.establishmentId; if (!isSuperadmin && session.user.role !== "admin") redirect("/dashboard"); const users = await prisma.user.findMany({ where: isSuperadmin ? {} : { establishmentId }, include: { establishment: true }, orderBy: { createdAt: "desc" }, }); return (

Utilisateurs

Liste des utilisateurs Email Rôle Établissement Créé le {users.map((user) => ( {user.email} {user.role} {user.establishment?.name || "-"} {new Date(user.createdAt).toLocaleDateString("fr-FR")} ))} {users.length === 0 && ( Aucun utilisateur )}
); }