first commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
// Create settings permissions
|
||||
const settingsPermissions = [
|
||||
{ resource: 'settings', action: 'read' },
|
||||
{ resource: 'settings', action: 'update' },
|
||||
];
|
||||
|
||||
for (const perm of settingsPermissions) {
|
||||
await prisma.permission.upsert({
|
||||
where: {
|
||||
resource_action: {
|
||||
resource: perm.resource,
|
||||
action: perm.action,
|
||||
},
|
||||
},
|
||||
update: {},
|
||||
create: perm,
|
||||
});
|
||||
}
|
||||
|
||||
console.log('Settings permissions created');
|
||||
|
||||
// Add to Admin role
|
||||
const adminRole = await prisma.role.findUnique({
|
||||
where: { name: 'Admin' },
|
||||
});
|
||||
|
||||
if (adminRole) {
|
||||
const newPermissions = await prisma.permission.findMany({
|
||||
where: { resource: 'settings' },
|
||||
});
|
||||
|
||||
for (const perm of newPermissions) {
|
||||
await prisma.rolePermission.upsert({
|
||||
where: {
|
||||
roleId_permissionId: {
|
||||
roleId: adminRole.id,
|
||||
permissionId: perm.id,
|
||||
},
|
||||
},
|
||||
update: {},
|
||||
create: {
|
||||
roleId: adminRole.id,
|
||||
permissionId: perm.id,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
console.log('Settings permissions added to Admin role');
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in New Issue
Block a user