示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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);
     }
 }