Ejemplo n.º 1
0
 public function test_it_can_be_queried_by_directory_recursively()
 {
     factory(Media::class)->create(['directory' => 'foo']);
     factory(Media::class)->create(['directory' => 'foo/bar']);
     factory(Media::class)->create(['directory' => 'foo/bar']);
     factory(Media::class)->create(['directory' => 'foo/bar/baz']);
     $this->assertEquals(4, Media::inDirectory('tmp', 'foo', true)->count());
     $this->assertEquals(3, Media::inOrUnderDirectory('tmp', 'foo/bar')->count());
     $this->assertEquals(1, Media::inDirectory('tmp', 'foo/bar/baz', true)->count());
 }
Ejemplo n.º 2
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function handle()
 {
     $disk = $this->argument('disk');
     $directory = $this->option('directory') ?: '';
     $recursive = !$this->option('non-recursive');
     $counter = 0;
     $records = Media::inDirectory($disk, $directory, $recursive)->get();
     foreach ($records as $media) {
         if (!$media->fileExists()) {
             $media->delete();
             ++$counter;
             $this->info("Pruned record for file {$media->getDiskPath()}", 'v');
         }
     }
     $this->info("Pruned {$counter} record(s).");
 }
Ejemplo n.º 3
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function handle()
 {
     $this->resetCounters();
     $disk = $this->argument('disk');
     $directory = $this->option('directory') ?: '';
     $recursive = !$this->option('non-recursive');
     $force = (bool) $this->option('force');
     $files = $this->listFiles($disk, $directory, $recursive);
     $existing_media = Media::inDirectory($disk, $directory, $recursive)->get();
     foreach ($files as $path) {
         if ($record = $this->getRecordForFile($path, $existing_media)) {
             if ($force) {
                 $this->updateRecordForFile($record, $path);
             }
         } else {
             $this->createRecordForFile($disk, $path);
         }
     }
     $this->outputCounters($force);
 }