This commit is contained in:
2025-12-03 23:41:24 +03:30
parent 2248f18fe8
commit 87e935acfd
21 changed files with 1002 additions and 755 deletions
+29
View File
@@ -0,0 +1,29 @@
import type { EntityManager } from '@mikro-orm/core';
import { Permission as PermissionEntity } from '../modules/roles/entities/permission.entity';
import { getPermissionsData } from './data/permissions.data';
export class PermissionsSeeder {
async run(em: EntityManager): Promise<PermissionEntity[]> {
const permissions = getPermissionsData();
const createdPermissions: PermissionEntity[] = [];
for (const permData of permissions) {
let permission = await em.findOne(PermissionEntity, { name: permData.name });
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);
}
await em.flush();
return createdPermissions;
}
}