up
This commit is contained in:
@@ -13,9 +13,16 @@ import { Permission, PermissionTitles } from '../common/enums/permission.enum';
|
||||
export class DatabaseSeeder extends Seeder {
|
||||
async run(em: EntityManager) {
|
||||
// 1. Create Permissions (English)
|
||||
const specialPermissions = [
|
||||
Permission.CREATE_RESTAURANT,
|
||||
Permission.DELETE_RESTAURANT,
|
||||
Permission.UPDATE_RESTAURANT,
|
||||
];
|
||||
|
||||
const permissions = Object.values(Permission).map(name => ({
|
||||
name,
|
||||
title: PermissionTitles[name],
|
||||
group: specialPermissions.includes(name) ? 'special' : 'general',
|
||||
}));
|
||||
|
||||
const createdPermissions: PermissionEntity[] = [];
|
||||
@@ -24,6 +31,12 @@ export class DatabaseSeeder extends Seeder {
|
||||
if (!permission) {
|
||||
permission = em.create(PermissionEntity, permData);
|
||||
em.persist(permission);
|
||||
} else {
|
||||
// Update existing permission's group if it changed
|
||||
if (permission.group !== permData.group) {
|
||||
permission.group = permData.group;
|
||||
em.persist(permission);
|
||||
}
|
||||
}
|
||||
createdPermissions.push(permission);
|
||||
}
|
||||
@@ -44,9 +57,9 @@ export class DatabaseSeeder extends Seeder {
|
||||
// Add financial permissions to accountant
|
||||
const financialPerms = createdPermissions.filter(
|
||||
p =>
|
||||
p.name === Permission.VIEW_REPORTS ||
|
||||
p.name === Permission.MANAGE_FINANCES ||
|
||||
p.name === Permission.MANAGE_ORDERS,
|
||||
(p.name as Permission) === Permission.VIEW_REPORTS ||
|
||||
(p.name as Permission) === Permission.MANAGE_FINANCES ||
|
||||
(p.name as Permission) === Permission.MANAGE_ORDERS,
|
||||
);
|
||||
financialPerms.forEach(p => role.permissions.add(p));
|
||||
em.persist(role);
|
||||
@@ -58,9 +71,9 @@ export class DatabaseSeeder extends Seeder {
|
||||
// Add restaurant management permissions to superAdmin
|
||||
const restaurantPerms = createdPermissions.filter(
|
||||
p =>
|
||||
p.name === Permission.CREATE_RESTAURANT ||
|
||||
p.name === Permission.DELETE_RESTAURANT ||
|
||||
p.name === Permission.UPDATE_RESTAURANT,
|
||||
(p.name as Permission) === Permission.CREATE_RESTAURANT ||
|
||||
(p.name as Permission) === Permission.DELETE_RESTAURANT ||
|
||||
(p.name as Permission) === Permission.UPDATE_RESTAURANT,
|
||||
);
|
||||
restaurantPerms.forEach(p => role.permissions.add(p));
|
||||
em.persist(role);
|
||||
|
||||
Reference in New Issue
Block a user