You are here

public function JsonapiExtrasServiceProvider::register in JSON:API Extras 8.2

Same name and namespace in other branches
  1. 8.3 src/JsonapiExtrasServiceProvider.php \Drupal\jsonapi_extras\JsonapiExtrasServiceProvider::register()
  2. 8 src/JsonapiExtrasServiceProvider.php \Drupal\jsonapi_extras\JsonapiExtrasServiceProvider::register()

Registers services to the container.

Parameters

ContainerBuilder $container: The ContainerBuilder to register services to.

Overrides ServiceProviderBase::register

File

src/JsonapiExtrasServiceProvider.php, line 42

Class

JsonapiExtrasServiceProvider
Replace the resource type repository for our own configurable version.

Namespace

Drupal\jsonapi_extras

Code

public function register(ContainerBuilder $container) {
  $modules = $container
    ->getParameter('container.modules');
  if (isset($modules['schemata_json_schema'])) {

    // Register field definition schema override.
    $container
      ->register('serializer.normalizer.field_definition.schema_json.jsonapi_extras', 'Drupal\\jsonapi_extras\\Normalizer\\SchemaFieldDefinitionNormalizer')
      ->addTag('normalizer', [
      'priority' => 32,
    ])
      ->addArgument(new Reference('jsonapi.resource_type.repository'));

    // Register top-level schema override.
    $container
      ->register('serializer.normalizer.schemata_schema_normalizer.schema_json.jsonapi_extras', 'Drupal\\jsonapi_extras\\Normalizer\\SchemataSchemaNormalizer')
      ->addTag('normalizer', [
      'priority' => 100,
    ])
      ->addArgument(new Reference('jsonapi.resource_type.repository'));
  }
}