chore: makes better use of symfony denormalizer
This commit is contained in:
@@ -2,10 +2,32 @@
|
||||
|
||||
namespace App\Tmdb;
|
||||
|
||||
use App\Base\Enum\MediaType;
|
||||
use App\Tmdb\Dto\CastMemberDto;
|
||||
use App\Tmdb\Dto\CrewMemberDto;
|
||||
use App\Tmdb\Dto\GenreDto;
|
||||
use App\Tmdb\Dto\TmdbEpisodeDto;
|
||||
use Symfony\Component\Serializer\Attribute\Context;
|
||||
use Symfony\Component\Serializer\Attribute\SerializedPath;
|
||||
|
||||
class TmdbResult
|
||||
{
|
||||
/**
|
||||
* @param string|null $imdbId
|
||||
* @param int|null $tmdbId
|
||||
* @param string|null $title
|
||||
* @param string|null $description
|
||||
* @param string|null $poster
|
||||
* @param \DateTimeInterface|null $premiereDate
|
||||
* @param string|null $year
|
||||
* @param string|null $mediaType
|
||||
* @param array<TmdbEpisodeDto[]>|null $episodes
|
||||
* @param string|null $episodeAirDate
|
||||
* @param GenreDto[]|null $genres
|
||||
* @param CastMemberDto[]|null $stars
|
||||
* @param CrewMemberDto[]|null $directors
|
||||
* @param int|null $runtime
|
||||
*/
|
||||
public function __construct(
|
||||
#[SerializedPath('[external_ids][imdb_id]')]
|
||||
public ?string $imdbId = "",
|
||||
@@ -18,8 +40,15 @@ class TmdbResult
|
||||
public ?\DateTimeInterface $premiereDate = null,
|
||||
public ?string $year = null,
|
||||
public ?string $mediaType = "",
|
||||
#[Context(denormalizationContext: [
|
||||
'media_type' => MediaType::TvEpisode->value
|
||||
])]
|
||||
#[SerializedPath('[seasons]')]
|
||||
public ?array $episodes = null,
|
||||
public ?string $episodeAirDate = null,
|
||||
public ?array $genres = null,
|
||||
public ?array $stars = null,
|
||||
public ?array $directors = null,
|
||||
public ?int $runtime = null,
|
||||
) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user