This commit is contained in:
2025-11-22 11:11:06 +03:30
parent ee1e6049c5
commit 2ea6b819e2
2 changed files with 21 additions and 3 deletions
@@ -6,6 +6,10 @@ export class CreatePaymentMethodDto {
@IsString()
name!: string;
@ApiProperty({ description: 'English Payment method name' })
@IsString()
keyName!: string;
@ApiProperty({ description: 'Payment method description', required: false })
@IsOptional()
@IsString()
@@ -26,4 +30,3 @@ export class CreatePaymentMethodDto {
@IsNumber()
order?: number;
}
@@ -48,15 +48,30 @@ export class PermissionsService {
// If not in cache, fetch from database
const admin = await this.adminRepository.findOne(
{ id: adminId, roles: { restaurant: { id: restId } } },
{ populate: ['roles', 'roles.role'] },
{ populate: ['roles', 'roles.role', 'roles.role.permissions'] },
);
if (!admin || !admin.roles) {
return [];
}
// Ensure roles collection is loaded
await admin.roles.loadItems();
// Extract permission names as array of strings
const permissions = admin.roles.map(r => r.role.permissions.getItems());
const permissions = await Promise.all(
admin.roles
.getItems()
.filter(r => r.role) // Filter out any null/undefined roles
.map(async r => {
// Ensure permissions collection is initialized
if (!r.role.permissions.isInitialized()) {
await r.role.permissions.loadItems();
}
return r.role.permissions.getItems();
}),
);
return permissions.flat().map(p => p.name);
}