Blame view

app/library/App/Bootstrap/AclBootstrap.php 930 Bytes
15479603   Alex Savenko   initialize
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  <?php
  
  namespace App\Bootstrap;
  
  use App\BootstrapInterface;
  use App\Constants\Services;
  use Phalcon\Acl;
  use Phalcon\Config;
  use Phalcon\DiInterface;
  use PhalconRest\Api;
  use App\Constants\AclRoles;
  
  class AclBootstrap implements BootstrapInterface
  {
      public function run(Api $api, DiInterface $di, Config $config)
      {
          /** @var \PhalconApi\Acl\MountingEnabledAdapterInterface $acl */
          $acl = $di->get(Services::ACL);
  
          $unauthorizedRole = new Acl\Role(AclRoles::UNAUTHORIZED);
          $authorizedRole = new Acl\Role(AclRoles::AUTHORIZED);
  
          $acl->addRole($unauthorizedRole);
          $acl->addRole($authorizedRole);
  
          $acl->addRole(new Acl\Role(AclRoles::ADMINISTRATOR), $authorizedRole);
          $acl->addRole(new Acl\Role(AclRoles::MANAGER), $authorizedRole);
          $acl->addRole(new Acl\Role(AclRoles::USER), $authorizedRole);
  
          $acl->mountMany($api->getCollections());
      }
  }