permission
This commit is contained in:
@@ -8,6 +8,7 @@ import { CreateAdminDto } from '../dto/create-admin.dto';
|
||||
import { AdminRepository } from '../repositories/admin.repository';
|
||||
import { RoleRepository } from 'src/modules/roles/respository/role.repository';
|
||||
import { NotificationPreference } from 'src/modules/notification/entities/notification-preference.entity';
|
||||
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
||||
|
||||
@Injectable()
|
||||
export class AdminService {
|
||||
@@ -153,4 +154,20 @@ 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
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return !!has
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user