permission

This commit is contained in:
2026-02-04 20:43:28 +03:30
parent 14eeba4cfd
commit d4ae03fa4f
24 changed files with 175 additions and 110 deletions
+5 -5
View File
@@ -1,11 +1,11 @@
import type { EntityManager } from '@mikro-orm/core';
import { Role } from '../modules/roles/entities/role.entity';
import type { Permission } from '../common/enums/permission.enum';
import type { Permission as PermissionEntity } from '../modules/roles/entities/permission.entity';
import type { PermissionEnum } from '../common/enums/permission.enum';
import type {Permission } from '../modules/roles/entities/permission.entity';
import { rolesData } from './data/roles.data';
export class RolesSeeder {
async run(em: EntityManager, permissions: PermissionEntity[]): Promise<Map<string, Role>> {
async run(em: EntityManager, permissions: Permission[]): Promise<Map<string, Role>> {
const rolesMap = new Map<string, Role>();
for (const roleConfig of rolesData) {
@@ -13,7 +13,7 @@ export class RolesSeeder {
if (!role) {
role = em.create(Role, {
name: roleConfig.name,
title:'',
title: '',
isSystem: true,
});
@@ -21,7 +21,7 @@ export class RolesSeeder {
// TypeScript knows role is not null here because we just created it
const newRole = role;
// Use the permission filter for all roles
const filteredPermissions = permissions.filter(p => roleConfig.permissionFilter(p.name as Permission));
const filteredPermissions = permissions.filter(p => roleConfig.permissionFilter(p.name as PermissionEnum));
filteredPermissions.forEach(p => newRole.permissions.add(p));
em.persist(newRole);