This commit is contained in:
2026-02-20 18:08:43 +03:30
parent b2be6ba772
commit b0751bf42b
7 changed files with 133 additions and 26 deletions
+12 -12
View File
@@ -163,19 +163,19 @@ export class AdminService {
return admins
}
async hasPermission(adminId: string, permissionName: PermissionEnum): Promise<boolean> {
const has = await this.adminRepository.count({
id: adminId,
role: {
permissions: {
$some: {
name: permissionName
}
}
}
})
async hasPermissions(adminId: string, permissionNames: PermissionEnum[]): Promise<PermissionEnum[]> {
if (permissionNames.length === 0) return []
return !!has
const admin = await this.adminRepository.findOne(
{ id: adminId },
{ populate: ['role', 'role.permissions'] },
)
if (!admin?.role?.permissions) return []
const adminPermissionNames = new Set(
admin.role.permissions.getItems().map((p) => p.name),
)
return permissionNames.filter((name) => adminPermissionNames.has(name))
}
}