/** * Returns an array of REST permissions. * * @return array */ public function permissions() { $permissions = []; /** @var \Drupal\rest\RestResourceConfigInterface[] $resource_configs */ $resource_configs = $this->resourceConfigStorage->loadMultiple(); foreach ($resource_configs as $resource_config) { $plugin = $resource_config->getResourcePlugin(); $permissions = array_merge($permissions, $plugin->permissions()); } return $permissions; }
/** * Alters existing routes for a specific collection. * * @param \Symfony\Component\Routing\RouteCollection $collection * The route collection for adding routes. * @return array */ protected function alterRoutes(RouteCollection $collection) { // Iterate over all enabled REST resource configs. /** @var \Drupal\rest\RestResourceConfigInterface[] $resource_configs */ $resource_configs = $this->resourceConfigStorage->loadMultiple(); // Iterate over all enabled resource plugins. foreach ($resource_configs as $resource_config) { $resource_routes = $this->getRoutesForResourceConfig($resource_config); $collection->addCollection($resource_routes); } }