| @@ 69-83 (lines=15) @@ | ||
| 66 | return AlbumInfo::fromApi($response['album']); |
|
| 67 | } |
|
| 68 | ||
| 69 | public function getTags(AlbumTagsBuilder $builder): array |
|
| 70 | { |
|
| 71 | $response = $this->client->unsignedCall('album.getTags', $builder->getQuery()); |
|
| 72 | ||
| 73 | if (!isset($response['tags']['tag'])) { |
|
| 74 | return []; |
|
| 75 | } |
|
| 76 | ||
| 77 | return ApiHelper::mapList( |
|
| 78 | static function ($data) { |
|
| 79 | return Tag::fromApi($data); |
|
| 80 | }, |
|
| 81 | $response['tags']['tag'] |
|
| 82 | ); |
|
| 83 | } |
|
| 84 | ||
| 85 | public function getTopTags(AlbumTopTagsBuilder $builder): array |
|
| 86 | { |
|
| @@ 85-99 (lines=15) @@ | ||
| 82 | ); |
|
| 83 | } |
|
| 84 | ||
| 85 | public function getTopTags(AlbumTopTagsBuilder $builder): array |
|
| 86 | { |
|
| 87 | $response = $this->client->unsignedCall('album.getTopTags', $builder->getQuery()); |
|
| 88 | ||
| 89 | if (!isset($response['toptags']['tag'])) { |
|
| 90 | return []; |
|
| 91 | } |
|
| 92 | ||
| 93 | return ApiHelper::mapList( |
|
| 94 | static function ($data) { |
|
| 95 | return Tag::fromApi($data); |
|
| 96 | }, |
|
| 97 | $response['toptags']['tag'] |
|
| 98 | ); |
|
| 99 | } |
|
| 100 | ||
| 101 | public function removeTag(SessionInterface $session, string $artist, string $album, string $tag): void |
|
| 102 | { |
|