import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); const BUDGET_ROUTE = '/dashboard/budget'; async function main() { console.log('🔧 Ajout de la permission Budget...'); // Créer la permission si elle n'existe pas let permission = await prisma.permission.findUnique({ where: { name: BUDGET_ROUTE }, }); if (!permission) { permission = await prisma.permission.create({ data: { name: BUDGET_ROUTE, description: 'Budget des prescripteurs', }, }); console.log('✅ Permission Budget créée'); } else { console.log('ℹ️ Permission Budget existe déjà'); } // Ajouter la permission à tous les rôles const roles = await prisma.role.findMany(); let added = 0; for (const role of roles) { const existing = await prisma.rolePermission.findUnique({ where: { roleId_permissionId: { roleId: role.id, permissionId: permission.id, }, }, }); if (!existing) { await prisma.rolePermission.create({ data: { roleId: role.id, permissionId: permission.id, }, }); console.log(` → Ajouté au rôle "${role.name}"`); added++; } } if (added === 0 && roles.length > 0) { console.log('ℹ️ Tous les rôles ont déjà la permission Budget'); } else if (roles.length === 0) { console.log('ℹ️ Aucun rôle existant (utilisateurs sans rôle ont accès à tout)'); } console.log('\n✅ Terminé. Rechargez la page pour voir Budget dans la sidebar.'); } main() .catch((e) => { console.error('❌ Erreur:', e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });