Enhance role management by adding 'title' property to CreateRoleDto, UpdateRoleDto, and Role entity; update RoleService to handle title in create and update operations; modify DatabaseSeeder to include titles for predefined roles.

This commit is contained in:
2025-11-18 10:24:45 +03:30
parent 7bc94b4126
commit 6f22dddcec
7 changed files with 342 additions and 8 deletions
+3 -3
View File
@@ -39,7 +39,7 @@ export class DatabaseSeeder extends Seeder {
// 2. Create Roles (English)
let restaurantRole = await em.findOne(Role, { name: 'restaurant' });
if (!restaurantRole) {
const role = em.create(Role, { name: 'restaurant' });
const role = em.create(Role, { name: 'restaurant', title: 'رستوران' });
// Add all permissions to restaurant role (including update_restaurant)
createdPermissions.forEach(p => role.permissions.add(p));
em.persist(role);
@@ -48,7 +48,7 @@ export class DatabaseSeeder extends Seeder {
const accountantRole = await em.findOne(Role, { name: 'accountant' });
if (!accountantRole) {
const role = em.create(Role, { name: 'accountant' });
const role = em.create(Role, { name: 'accountant', title: 'حسابدار' });
// Add financial permissions to accountant
const financialPerms = createdPermissions.filter(
p => p.name === 'view_reports' || p.name === 'manage_finances' || p.name === 'manage_orders',
@@ -59,7 +59,7 @@ export class DatabaseSeeder extends Seeder {
const superAdminRole = await em.findOne(Role, { name: 'superAdmin' });
if (!superAdminRole) {
const role = em.create(Role, { name: 'superAdmin' });
const role = em.create(Role, { name: 'superAdmin', title: 'مدیر کل' });
// Add restaurant management permissions to superAdmin
const restaurantPerms = createdPermissions.filter(
p => p.name === 'create_restaurant' || p.name === 'delete_restaurant' || p.name === 'update_restaurant',