BookStack\Services\PermissionService::buildJointPermissions PHP Метод

buildJointPermissions() публичный Метод

Re-generate all entity permission from scratch.
    public function buildJointPermissions()
    {
        $this->jointPermission->truncate();
        $this->readyEntityCache();
        // Get all roles (Should be the most limited dimension)
        $roles = $this->role->with('permissions')->get();
        // Chunk through all books
        $this->book->with('permissions')->chunk(500, function ($books) use($roles) {
            $this->createManyJointPermissions($books, $roles);
        });
        // Chunk through all chapters
        $this->chapter->with('book', 'permissions')->chunk(500, function ($chapters) use($roles) {
            $this->createManyJointPermissions($chapters, $roles);
        });
        // Chunk through all pages
        $this->page->with('book', 'chapter', 'permissions')->chunk(500, function ($pages) use($roles) {
            $this->createManyJointPermissions($pages, $roles);
        });
    }

Usage Example

 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $this->permissionService->buildJointPermissions();
 }