Skip to content

Commit

Permalink
refine media preview handling
Browse files Browse the repository at this point in the history
  • Loading branch information
imahmood committed Jan 1, 2024
1 parent 725271b commit 989e7c4
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 30 deletions.
10 changes: 6 additions & 4 deletions src/FileManipulator.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
use Illuminate\Support\Facades\Storage;
use Imahmood\FileStorage\Config\Configuration;
use Imahmood\FileStorage\Exceptions\NotWritableException;
use Imahmood\FileStorage\Exceptions\PersistenceFailedException;
use Imahmood\FileStorage\Models\Media;
use Jcupitt\Vips\Image as VipsImage;

class FileManipulator
{
public function __construct(
private readonly FileStorage $fileStorage,
private readonly Configuration $config,
) {
}
Expand Down Expand Up @@ -45,15 +45,17 @@ public function generatePreview(Media $media): void
return;
}

$previewName = $this->generatePreviewName($media->file_name);
$media->preview = $this->generatePreviewName($media->file_name);

$this->resizeImage(
media: $media,
targetFile: $media->dir_relative_path.$previewName,
targetFile: $media->dir_relative_path.$media->preview,
maxDimension: $this->config->previewDimension,
);

$this->fileStorage->updatePreviewName($media, $previewName);
if (! $media->save()) {
throw new PersistenceFailedException();
}
}

protected function generatePreviewName(string $fileName): string
Expand Down
14 changes: 0 additions & 14 deletions src/FileStorage.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,20 +107,6 @@ public function updateOrCreate(
return $this->create($type, $relatedTo, $uploadedFile);
}

/**
* @throws \Imahmood\FileStorage\Exceptions\PersistenceFailedException
*/
public function updatePreviewName(Media $media, string $fileName): Media
{
$media->preview = $fileName;

if (! $media->save()) {
throw new PersistenceFailedException();
}

return $media;
}

/**
* @throws \Imahmood\FileStorage\Exceptions\PersistenceFailedException
*/
Expand Down
12 changes: 0 additions & 12 deletions tests/FileStorageTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,18 +88,6 @@ public function testUpdateMedia(): void
]);
}

public function testUpdatePreviewName(): void
{
/** @var \Imahmood\FileStorage\Models\Media $originalMedia */
$originalMedia = Media::factory()->create();

$updatedMedia = $this->fileStorage->updatePreviewName(clone $originalMedia, 'random-name.jpg');

$this->assertSame($updatedMedia->file_name, $originalMedia->file_name);
$this->assertSame($updatedMedia->preview, 'random-name.jpg');
$this->assertSame($updatedMedia->type, $originalMedia->type);
}

public function testDeleteMedia(): void
{
/** @var \Imahmood\FileStorage\Models\Media $media */
Expand Down

0 comments on commit 989e7c4

Please sign in to comment.