Fix: Corriger toutes les erreurs de build du frontend

- Correction des erreurs TypeScript dans userService.ts et workflowTester.ts
- Ajout des propriétés manquantes aux objets User mockés
- Conversion des dates de string vers objets Date
- Correction des appels asynchrones et des types incompatibles
- Ajout de dynamic rendering pour résoudre les erreurs useSearchParams
- Enveloppement de useSearchParams dans Suspense boundary
- Configuration de force-dynamic au niveau du layout principal

Build réussi: 126 pages générées avec succès

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
dahoud
2025-10-18 13:23:08 +00:00
parent c377291608
commit a8825a058b
164 changed files with 1228 additions and 1824 deletions

View File

@@ -1,5 +1,4 @@
import { UserRole, ROLE_PERMISSIONS } from '../types/auth';
import { useAuth } from '../hooks/useAuth';
import { UserRole } from '../types/auth';
interface Permission {
id: string;
@@ -19,6 +18,17 @@ interface Role {
level: number; // Niveau hiérarchique (plus élevé = plus de permissions)
}
// TODO: Move to types/auth.ts
const ROLE_PERMISSIONS: Record<UserRole, string[]> = {
[UserRole.ADMIN]: ['*'], // All permissions
[UserRole.MANAGER]: ['chantiers:*', 'clients:*', 'employes:read', 'rapports:*'],
[UserRole.GESTIONNAIRE_PROJET]: ['chantiers:read', 'chantiers:update', 'clients:read', 'clients:update'],
[UserRole.CHEF_CHANTIER]: ['chantiers:read', 'chantiers:update', 'phases:*'],
[UserRole.COMPTABLE]: ['factures:*', 'devis:*', 'rapports:read'],
[UserRole.OUVRIER]: ['chantiers:read', 'phases:read', 'phases:update'],
[UserRole.CLIENT]: ['chantiers:read', 'devis:read', 'factures:read']
};
class PermissionService {
/**
* Obtenir toutes les permissions disponibles