[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