/** * {@inheritdoc} */ public function getAccessList() { $output = parent::getAccessList(); $refresh = $this->request->getParameterAsBool(ApiOptions::REFRESH); $schema = $this->request->getParameter(ApiOptions::SCHEMA, ''); foreach ($this->resources as $resourceInfo) { $className = $resourceInfo['class_name']; if (!class_exists($className)) { throw new InternalServerErrorException('Service configuration class name lookup failed for resource ' . $this->resourcePath); } /** @var BaseDbResource $resource */ $resource = $this->instantiateResource($className, $resourceInfo); $access = $this->getPermissions($resource->name); if (!empty($access)) { try { $results = $resource->listAccessComponents($schema, $refresh); $output[] = $resource->name . '/'; $output[] = $resource->name . '/*'; $output = array_merge($output, $results); } catch (NotImplementedException $ex) { // carry on } } } return $output; }
/** * {@inheritdoc} */ public function getAccessList() { $list = parent::getAccessList(); $nameField = $this->getResourceIdentifier(); foreach ($this->getResources() as $resource) { $name = ArrayUtils::get($resource, $nameField); if (!empty($this->getPermissions())) { $list[] = $name . '/'; $list[] = $name . '/*'; } } return $list; }
public function getAccessList() { $resources = parent::getAccessList(); // $refresh = $this->request->getParameterAsBool( 'refresh' ); $name = SnsTopic::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } $topic = new SnsTopic($this, $this->resources[SnsTopic::RESOURCE_NAME]); $result = $topic->listResources(); foreach ($result as $name) { $name = SnsTopic::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } $name = SnsSubscription::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } $topic = new SnsSubscription($this, $this->resources[SnsSubscription::RESOURCE_NAME]); $result = $topic->listResources(); foreach ($result as $name) { $name = SnsSubscription::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } $name = SnsApplication::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } $topic = new SnsApplication($this, $this->resources[SnsApplication::RESOURCE_NAME]); $result = $topic->listResources(); foreach ($result as $name) { $name = SnsApplication::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } $name = SnsEndpoint::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } $topic = new SnsEndpoint($this, $this->resources[SnsEndpoint::RESOURCE_NAME]); $result = $topic->listResources(); foreach ($result as $name) { $name = SnsEndpoint::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } return $resources; }
protected function getAccessList() { $list = parent::getAccessList(); $result = $this->driver->getFolder($this->container, '', false, true, true); foreach (array_column($result, 'path') as $resource) { $list[] = $resource; $list[] = $resource . '*'; } return $list; }