function field_permissions_jsonapi_entity_field_filter_access in Field Permissions 8.2
Same name and namespace in other branches
- 8 field_permissions.module \field_permissions_jsonapi_entity_field_filter_access()
Implements hook_jsonapi_entity_field_filter_access().
File
- ./
field_permissions.module, line 49 - Contains field_permissions.module.
Code
function field_permissions_jsonapi_entity_field_filter_access(FieldDefinitionInterface $field_definition, AccountInterface $account) {
if (!$field_definition
->isDisplayConfigurable('display')) {
return AccessResult::neutral();
}
/** @var \Drupal\field_permissions\FieldPermissionsServiceInterface $service */
$service = \Drupal::service('field_permissions.permissions_service');
if ($service instanceof FieldPermissionsService) {
$access = $service
->hasFieldViewAccessForEveryEntity($account, $field_definition);
}
else {
$permission_type = $service
->fieldGetPermissionType($field_definition
->getFieldStorageDefinition());
$access = $permission_type == FieldPermissionTypeInterface::ACCESS_PUBLIC;
}
return $access ? AccessResult::neutral() : AccessResult::forbidden();
}