order
This commit is contained in:
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user