Skip to content

Commit

Permalink
Merge pull request #1 from ucraft-com/feature/use-uploaded-file
Browse files Browse the repository at this point in the history
Use UploadedFile instance instead of File.
  • Loading branch information
tiko-star authored Aug 6, 2024
2 parents 23d7cb4 + 9cd37b8 commit 8c675f3
Show file tree
Hide file tree
Showing 17 changed files with 168 additions and 121 deletions.
14 changes: 7 additions & 7 deletions src/Drivers/AudioDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\File;
use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\FFMpegProcessor;

use function in_array;
Expand All @@ -23,25 +23,25 @@ public function __construct(protected FFMpegProcessor $processor)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return in_array($file->getExtension(), ['mpga', 'mp3', 'aac', 'm4a'], true);
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->processor->generateAudioThumbnail($file, $width, $height);
}
Expand Down
15 changes: 7 additions & 8 deletions src/Drivers/DocxDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\DocumentProcessor;
use Illuminate\Http\File;

/**
* Driver for generating thumbnails for docx documents.
Expand All @@ -21,27 +21,26 @@ public function __construct(protected DocumentProcessor $documentProcessor)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return $file->getExtension() === 'docx';
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
* @throws \ImagickException
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->documentProcessor->generateThumbnailFromDocx($file, $width, $height);
}
Expand Down
14 changes: 7 additions & 7 deletions src/Drivers/ImageDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ImageManipulator\ImageManipulator;
use Illuminate\Http\File;

use function file_get_contents;
use function in_array;
Expand All @@ -24,25 +24,25 @@ public function __construct(protected ImageManipulator $imageManipulator)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return in_array($file->getExtension(), ['jpeg', 'jpg', 'png', 'webp', 'svg', 'gif'], true);
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
$content = (string)file_get_contents($file->path());

Expand Down
15 changes: 7 additions & 8 deletions src/Drivers/OdtDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\DocumentProcessor;
use Illuminate\Http\File;

/**
* Driver for generating thumbnails for odt documents.
Expand All @@ -21,27 +21,26 @@ public function __construct(protected DocumentProcessor $documentProcessor)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return $file->getExtension() === 'odt';
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
* @throws \ImagickException
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->documentProcessor->generateThumbnailFromOdt($file, $width, $height);
}
Expand Down
14 changes: 7 additions & 7 deletions src/Drivers/PdfDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\PdfProcessor;
use Illuminate\Http\File;

/**
* Driver for generating thumbnails for pdf documents.
Expand All @@ -26,26 +26,26 @@ public function __construct(protected PdfProcessor $pdfProcessor)
/**
* @inheritDoc
*
* @param File $file
* @param UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return $file->getExtension() === 'pdf';
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
* @throws \ImagickException
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->pdfProcessor->generateThumbnail($file, $width, $height);
}
Expand Down
15 changes: 7 additions & 8 deletions src/Drivers/RtfDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\DocumentProcessor;
use Illuminate\Http\File;

/**
* Driver for generating thumbnails for rtf documents.
Expand All @@ -21,27 +21,26 @@ public function __construct(protected DocumentProcessor $documentProcessor)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return $file->getExtension() === 'rtf';
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
* @throws \ImagickException
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->documentProcessor->generateThumbnailFromRtf($file, $width, $height);
}
Expand Down
14 changes: 7 additions & 7 deletions src/Drivers/ThumbnailGenerationDriverInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\File;
use Illuminate\Http\UploadedFile;

/**
* Interface declares main functionality for thumbnail generation drivers.
Expand All @@ -16,20 +16,20 @@ interface ThumbnailGenerationDriverInterface
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool;
public function supports(UploadedFile $file): bool;

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
*/
public function generate(File $file, int $width, int $height): array;
public function generate(UploadedFile $file, int $width, int $height): array;
}
14 changes: 7 additions & 7 deletions src/Drivers/VideoDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

namespace Uc\ThumbnailGenerator\Drivers;

use Illuminate\Http\UploadedFile;
use Uc\ThumbnailGenerator\Processors\FFMpegProcessor;
use Illuminate\Http\File;

use function in_array;

Expand All @@ -23,25 +23,25 @@ public function __construct(protected FFMpegProcessor $processor)
/**
* Determine whether the driver supports given file to generate thumbnail.
*
* @param \Illuminate\Http\File $file
* @param \Illuminate\Http\UploadedFile $file
*
* @return bool
*/
public function supports(File $file): bool
public function supports(UploadedFile $file): bool
{
return in_array($file->getExtension(), ['mp4', 'flv', 'avi', 'mkv', 'asf', 'webm', 'mov', 'ogg', 'ogv', 'svg'], true);
}

/**
* Generate thumbnail for given file.
*
* @param \Illuminate\Http\File $file
* @param int $width
* @param int $height
* @param \Illuminate\Http\UploadedFile $file
* @param int $width
* @param int $height
*
* @return array
*/
public function generate(File $file, int $width, int $height): array
public function generate(UploadedFile $file, int $width, int $height): array
{
return $this->processor->generateVideoThumbnail($file, $width, $height);
}
Expand Down
Loading

0 comments on commit 8c675f3

Please sign in to comment.