function ResourceObjectNormalizer::processConfigEntitySchema

1 call to ResourceObjectNormalizer::processConfigEntitySchema()
ResourceObjectNormalizer::getNormalizationSchema in core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php
Retrieve JSON Schema for the normalization.

File

core/modules/jsonapi/src/Normalizer/ResourceObjectNormalizer.php, line 306

Class

ResourceObjectNormalizer
Converts the JSON:API module ResourceObject into a JSON:API array structure.

Namespace

Drupal\jsonapi\Normalizer

Code

protected function processConfigEntitySchema(ResourceType $resource_type, array $context, array &$attributes_schema) : void {
    // This is largely the same as in ResourceObject but without a real entity.
    $fields = $resource_type->getFields();
    // Filter the array based on the field names.
    $enabled_field_names = array_filter(array_keys($fields), static fn(string $internal_field_name) => $resource_type->isFieldEnabled($internal_field_name));
    // Return a sub-array of $output containing the keys in $enabled_fields.
    $input = array_intersect_key($fields, array_flip($enabled_field_names));
    foreach ($input as $field_name => $field_value) {
        $attributes_schema['properties'][$resource_type->getPublicName($field_name)] = [
            'title' => $field_name,
        ];
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.