feat: endpoint pour la création d'un manga directement via l'api

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-02-11 15:59:53 +01:00
parent 4017cabff2
commit 3dc0a0b406
9 changed files with 409 additions and 8 deletions

View File

@@ -6,18 +6,34 @@ use App\Domain\Manga\Domain\Contract\Service\ImageProcessorInterface;
class InMemoryImageProcessor implements ImageProcessorInterface
{
private const string FULL_IMAGE_PATH = '/images/full';
private const string THUMBNAIL_PATH = '/images/thumbnails';
private const string FAKE_FULL_IMAGE_PATH = '/images/full/test-image.jpg';
private const string FAKE_THUMBNAIL_PATH = '/images/thumbnails/test-image.jpg';
/** @var array<string, string> */
private array $downloadedImages = [];
/** @var array<string, string> */
private array $thumbnails = [];
public function downloadImage(string $imageUrl): string
{
$filename = sprintf('%s/%s.jpg', self::FULL_IMAGE_PATH, uniqid());
return $filename;
$this->downloadedImages[$imageUrl] = self::FAKE_FULL_IMAGE_PATH;
return self::FAKE_FULL_IMAGE_PATH;
}
public function createThumbnail(string $originalImagePath): string
{
$filename = basename($originalImagePath);
return sprintf('%s/%s', self::THUMBNAIL_PATH, $filename);
$this->thumbnails[$originalImagePath] = self::FAKE_THUMBNAIL_PATH;
return self::FAKE_THUMBNAIL_PATH;
}
public function getDownloadedImages(): array
{
return $this->downloadedImages;
}
public function getThumbnails(): array
{
return $this->thumbnails;
}
}