feat: ajout d'une modale de gestion des chapitres, permettant la création, l'édition et le déplacement de chapitres. Mise à jour de l'API pour gérer les modifications en lot des chapitres, ainsi que l'intégration de tests pour valider cette nouvelle fonctionnalité. Amélioration de l'interface utilisateur pour une gestion plus fluide des chapitres.

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-07-23 14:25:17 +02:00
parent 00d63dffeb
commit 551db0bf77
19 changed files with 2566 additions and 3 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Domain\Manga\Infrastructure\ApiPlatform\Resource;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Post;
use App\Domain\Manga\Infrastructure\ApiPlatform\State\Processor\EditMultipleChaptersProcessor;
use Symfony\Component\Validator\Constraints as Assert;
#[ApiResource(
shortName: 'Chapters',
operations: [
new Post(
uriTemplate: '/chapters/batch-edit',
processor: EditMultipleChaptersProcessor::class,
input: EditMultipleChaptersResource::class,
status: 200,
openapiContext: [
'summary' => 'Edit multiple chapters',
'description' => 'Updates title and/or volume for multiple chapters in a single request'
]
)
]
)]
class EditMultipleChaptersResource
{
public function __construct(
#[Assert\NotBlank(message: 'La liste des chapitres est obligatoire')]
#[Assert\Count(min: 1, minMessage: 'Vous devez spécifier au moins un chapitre')]
public readonly array $chapters
) {}
}
readonly class ChapterEditData
{
public function __construct(
public string $id,
public ?string $title = null,
public ?int $volume = null
) {}
}