chore: cleanup
This commit is contained in:
@@ -23,7 +23,12 @@ class TmdbResultDenormalizer implements DenormalizerInterface
|
||||
|
||||
public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): TmdbResult|array|null
|
||||
{
|
||||
return $this->normalizer->denormalize($data, TmdbResult::class, $format, $context);
|
||||
$result = $this->normalizer->denormalize($data, TmdbResult::class, $format, $context);
|
||||
$result->stars = $this->getStars($data);
|
||||
$result->directors = $this->getDirectors($data);
|
||||
$result->producers = $this->getProducers($data);
|
||||
$result->creators = $this->getCreators($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function getStars(array $data): ?array
|
||||
@@ -49,6 +54,28 @@ class TmdbResultDenormalizer implements DenormalizerInterface
|
||||
->toArray();
|
||||
}
|
||||
|
||||
public function getCreators(array $data): ?array
|
||||
{
|
||||
if (!array_key_exists('credits', $data)) {
|
||||
return null;
|
||||
}
|
||||
return Map::from($data['credits']['crew'])
|
||||
->filter(fn($item) => $item['job'] === 'Creator')
|
||||
->map(fn($item) => $this->normalizer->denormalize($item, CrewMemberDto::class))
|
||||
->toArray();
|
||||
}
|
||||
|
||||
public function getProducers(array $data): ?array
|
||||
{
|
||||
if (!array_key_exists('credits', $data)) {
|
||||
return null;
|
||||
}
|
||||
return Map::from($data['credits']['crew'])
|
||||
->filter(fn($item) => $item['job'] === 'Producer')
|
||||
->map(fn($item) => $this->normalizer->denormalize($item, CrewMemberDto::class))
|
||||
->toArray();
|
||||
}
|
||||
|
||||
public function getGenres(array $data, MediaType $mediaType): ?array
|
||||
{
|
||||
if (array_key_exists('genres', $data)) {
|
||||
|
||||
Reference in New Issue
Block a user