/**
  * Handle the filters.
  *
  * @param FileTableBuilder          $builder
  * @param FolderRepositoryInterface $folders
  * @param Repository                $cache
  * @param Request                   $request
  */
 public function handle(FileTableBuilder $builder, FolderRepositoryInterface $folders, Repository $cache, Request $request)
 {
     $allowed = [];
     $config = $cache->get('file-field_type::' . $request->route('key'), []);
     foreach (array_get($config, 'folders', []) as $identifier) {
         /* @var FolderInterface $folder */
         if ($folder = $this->dispatch(new GetFolder($identifier))) {
             $allowed[$folder->getId()] = $folder->getName();
         }
     }
     if (!$allowed) {
         $allowed = $folders->all()->lists('name', 'id')->all();
     }
     $builder->setFolders($allowed)->setFilters(['folder' => ['exact' => true, 'filter' => 'select', 'options' => $allowed, 'enabled' => count($allowed) !== 1], 'name']);
 }