get anime staff from GraphQL, see #27

This commit is contained in:
Timothy Warren 2020-07-29 14:04:03 -04:00
parent 7275d81468
commit 1ae99d2189
2 changed files with 28 additions and 1 deletions

View File

@ -53,6 +53,7 @@ query ($slug: String!) {
endDate endDate
episodeCount episodeCount
episodeLength episodeLength
totalLength
posterImage { posterImage {
original { original {
height height
@ -107,7 +108,6 @@ query ($slug: String!) {
status status
synopsis synopsis
titles { titles {
alternatives
canonical canonical
localized localized
} }

View File

@ -66,6 +66,33 @@ final class AnimeTransformer extends AbstractTransformer {
uasort($characters['supporting'], fn($a, $b) => $a['name'] <=> $b['name']); uasort($characters['supporting'], fn($a, $b) => $a['name'] <=> $b['name']);
} }
if (count($base['staff']['nodes']) > 0)
{
foreach ($base['staff']['nodes'] as $staffing)
{
$person = $staffing['person'];
$role = $staffing['role'];
$name = $person['names']['localized'][$person['names']['canonical']];
if ( ! array_key_exists($role, $staff))
{
$staff[$role] = [];
}
$staff[$role][$person['id']] = [
'id' => $person['id'],
'name' => $name,
'image' => [
'original' => $person['image']['original']['url'],
],
];
usort($staff[$role], fn ($a, $b) => $a['name'] <=> $b['name']);
}
ksort($staff);
}
$data = [ $data = [
'age_rating' => $base['ageRating'], 'age_rating' => $base['ageRating'],
'age_rating_guide' => $base['ageRatingGuide'], 'age_rating_guide' => $base['ageRatingGuide'],