Exemplo n.º 1
0
 /**
  * {@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;
 }
Exemplo n.º 2
0
 /**
  * {@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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }