id); $typeManager = $this->entityTypeManager(); $dependency = $typeManager->getDefinition($id[0])->getBundleConfigDependency($id[1]); $this->addDependency($dependency['type'], $dependency['name']); } /** * {@inheritdoc} */ protected function urlRouteParameters($rel) { $uri_route_parameters = parent::urlRouteParameters($rel); // The add-form route depends on entity_type_id and bundle. if (in_array($rel, ['add-form'])) { $parameters = explode('--', $this->id); $uri_route_parameters['entity_type_id'] = $parameters[0]; $uri_route_parameters['bundle'] = $parameters[1]; } return $uri_route_parameters; } /** * Triggers rebuilding of JSON API routes. */ protected static function rebuildRoutes() { try { \Drupal::service('jsonapi.resource_type.repository')->reset(); \Drupal::service('router.builder')->setRebuildNeeded(); } catch (ServiceNotFoundException $exception) { // This is intentionally empty. } } }