import { redirect } from 'next/navigation'; import { getCurrentUser } from '@/lib/auth'; import { hasPageAccess } from '@/lib/permissions'; /** * HOC pour protéger une page avec vérification des permissions */ export async function withPageAccess( pageRoute: string, PageComponent: React.ComponentType ) { return async function ProtectedPage(props: any) { const user = await getCurrentUser(); if (!user) { redirect('/login'); } const hasAccess = await hasPageAccess(user.id, pageRoute); if (!hasAccess) { // Rediriger vers la première page accessible ou paramètres redirect('/dashboard/parametres'); } return ; }; }