get anime staff from GraphQL, see #27

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

View File

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

View File

@ -66,6 +66,33 @@ final class AnimeTransformer extends AbstractTransformer {
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 = [
'age_rating' => $base['ageRating'],
'age_rating_guide' => $base['ageRatingGuide'],