setRules() public method

Set the rules
public setRules ( array $rules ) : self
$rules array
return self
Ejemplo n.º 1
0
 /**
  * @covers Imbo\Model\AccessRules::getRules
  * @covers Imbo\Model\AccessRules::setRules
  * @covers Imbo\Model\AccessRules::getData
  */
 public function testSetAndGetId()
 {
     $rules = [['id' => 1, 'group' => 'group', 'users' => ['user']], ['id' => 2, 'resources' => ['image.get', 'image.head'], 'users' => ['user']]];
     $this->assertSame([], $this->model->getRules());
     $this->assertSame([], $this->model->getData());
     $this->assertSame($this->model, $this->model->setRules($rules));
     $this->assertSame($rules, $this->model->getRules());
     $this->assertSame($rules, $this->model->getData());
 }
Ejemplo n.º 2
0
 /**
  * Get access rules for the specified public key
  *
  * @param EventInterface $event The current event
  */
 public function getRules(EventInterface $event)
 {
     $request = $event->getRequest();
     $publicKey = $request->getRoute()->get('publickey');
     $accessControl = $event->getAccessControl();
     $keyExists = $accessControl->publicKeyExists($publicKey);
     if (!$keyExists) {
         throw new RuntimeException('Public key not found', 404);
     }
     $accessList = $accessControl->getAccessListForPublicKey($publicKey);
     if ($request->query->has('expandGroups')) {
         foreach ($accessList as &$rule) {
             if (!isset($rule['group'])) {
                 continue;
             }
             $rule['resources'] = $accessControl->getGroup($rule['group']);
         }
     }
     $model = new AccessRulesModel();
     $model->setRules($accessList);
     $event->getResponse()->setModel($model);
 }