LP#1779158 Vandelay queue list API supports paging
authorBill Erickson <berickxx@gmail.com>
Thu, 5 Jul 2018 18:13:32 +0000 (14:13 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 11 Oct 2018 18:56:30 +0000 (14:56 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Vandelay.pm

index 0647b33..84c5055 100644 (file)
@@ -1535,7 +1535,7 @@ __PACKAGE__->register_method(
 );
 
 sub owner_queue_retrieve {
-    my($self, $conn, $auth, $owner_id, $filters) = @_;
+    my($self, $conn, $auth, $owner_id, $filters, $pager) = @_;
     my $e = new_editor(authtoken => $auth, xact => 1);
     return $e->die_event unless $e->checkauth;
     $owner_id = $e->requestor->id; # XXX add support for viewing other's queues?
@@ -1544,12 +1544,18 @@ sub owner_queue_retrieve {
     my $search = {owner => $owner_id};
     $search->{$_} = $filters->{$_} for keys %$filters;
 
+    my %paging;
+    if ($pager) {
+        $paging{limit} = $pager->{limit} || 1000;
+        $paging{offset} = $pager->{offset} || 0;
+    }
+
     if($self->{record_type} eq 'bib') {
         $queues = $e->search_vandelay_bib_queue(
-            [$search, {order_by => {vbq => 'evergreen.lowercase(name)'}}]);
+            [$search, {%paging, order_by => {vbq => 'evergreen.lowercase(name)'}}]);
     } else {
         $queues = $e->search_vandelay_authority_queue(
-            [$search, {order_by => {vaq => 'evergreen.lowercase(name)'}}]);
+            [$search, {%paging, order_by => {vaq => 'evergreen.lowercase(name)'}}]);
     }
     $conn->respond($_) for @$queues;
     $e->rollback;