[mb-commits] branch, mbs-5600, created. MBS-5600, fix two internal server errors in /ws/2 json serialization.
MusicBrainz Git Server <[email protected]> Fri, 14 Dec 2012 09:52:09 +0000
| Newsgroups | gmane.comp.audio.musicbrainz.cvs |
|---|---|
| Message-ID | <E1TjRw8-00024i-Tg@wiley> |
The branch, mbs-5600 has been created
at 33849da6b9e973231ac0a4848e1a3c693e8058f8 (commit)
- Log -----------------------------------------------------------------
commit 33849da6b9e973231ac0a4848e1a3c693e8058f8
Author: warp <[email protected]>
Date: Fri Dec 14 10:26:15 2012 +0100
MBS-5600, fix two internal server errors in /ws/2 json serialization.
Don't output linked releases in the recording serialization unless we're at the top level.
Pass on the stash correctly to the serialize_entity call in JSON::2::Utils::list_of.
diff --git a/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Recording.pm b/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Recording.pm
index bdbaa01..64981d6 100644
--- a/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Recording.pm
+++ b/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Recording.pm
@@ -18,12 +18,13 @@ sub serialize
$body{title} = $entity->name;
$body{disambiguation} = $entity->comment // "";
$body{length} = $entity->length // JSON::null;
+
$body{"artist-credit"} = serialize_entity ($entity->artist_credit)
if ($entity->artist_credit &&
($toplevel || ($inc && $inc->artist_credits)));
$body{releases} = list_of ($entity, $inc, $stash, "releases")
- if ($inc && $inc->releases);
+ if ($toplevel && $inc && $inc->releases);
return \%body unless defined $inc && ($inc->isrcs || $inc->puids);
diff --git a/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Utils.pm b/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Utils.pm
index 643a4cd..ac75a70 100644
--- a/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Utils.pm
+++ b/lib/MusicBrainz/Server/WebService/Serializer/JSON/2/Utils.pm
@@ -61,7 +61,7 @@ sub list_of
my $items = (ref $list eq 'HASH') ? $list->{items} : $list;
return [
- map { serialize_entity($_, $inc, $opts) }
+ map { serialize_entity($_, $inc, $stash) }
sort_by { $_->gid } @$items ];
}
-----------------------------------------------------------------------
hooks/post-receive
--
mb_server