restPluginManager = $rest_plugin_manager; $this->configFactory = $config_factory; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static($container->get('plugin.manager.rest'), $container->get('config.factory')); } /** * Returns an array of REST permissions. * * @return array */ public function permissions() { $permissions = []; $resources = $this->configFactory->get('rest.settings')->get('resources'); if ($resources && $enabled = array_intersect_key($this->restPluginManager->getDefinitions(), $resources)) { foreach ($enabled as $key => $resource) { $plugin = $this->restPluginManager->getInstance(['id' => $key]); $permissions = array_merge($permissions, $plugin->permissions()); } } return $permissions; } }