Added Budget Page

This commit is contained in:
2026-02-15 15:05:59 +01:00
parent 5185a41bb6
commit 5772a358f5
10 changed files with 905 additions and 11 deletions

View File

@@ -0,0 +1,69 @@
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();
});