LP#1756142 Stream other reporter data retrievals collab/dbwells/stream_reporter_retreive_by_folder
authorDan Wells <dbw2@calvin.edu>
Thu, 15 Mar 2018 16:00:01 +0000 (12:00 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 15 Mar 2018 17:41:20 +0000 (13:41 -0400)
Similar to the "schedule" data, things like templates and reports can
also get too large to send en masse.

These are both handled by a generic function, so let's make that stream
as well.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/perlmods/lib/OpenILS/Application/Reporter.pm

index 7251df4..8d2fe41 100644 (file)
@@ -105,7 +105,8 @@ sub retrieve_visible_folders {
 
 __PACKAGE__->register_method(
     api_name => 'open-ils.reporter.folder_data.retrieve',
-    method => 'retrieve_folder_data'
+    method => 'retrieve_folder_data',
+    stream => 1
 );
 
 sub retrieve_folder_data {
@@ -127,7 +128,13 @@ sub retrieve_folder_data {
     };
     $flesh->{limit} = $limit if $limit;
     $flesh->{offset} = $offset if $offset;
-    return $e->$meth([{ folder => $folderid }, $flesh]);
+
+    my $items = $e->$meth([{ folder => $folderid }, $flesh]);
+    foreach my $item (@$items) {
+        $conn->respond($item);
+    }
+
+    return undef;
 }
 
 __PACKAGE__->register_method(