Added Budget Page
This commit is contained in:
69
scripts/add-budget-permission.ts
Normal file
69
scripts/add-budget-permission.ts
Normal 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();
|
||||
});
|
||||
Reference in New Issue
Block a user