From a8ea777d85b442899a094e4686f1a9d25197c149 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Thu, 21 May 2020 18:23:01 -0300
Subject: [PATCH] Bug 25570: Paginate results by default in objects->search

This patch makes the helper paginate the resultsif no pagination
parameters are passed.

Page number defaults to 1, and the page size to the RESTdefaultPageSize
syspref value.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t
=> FAIL: Pagination is not enforced by default
3. Apply this patch
4. Repeat 2
=> SUCCESS: Results are paginated
5. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
---
 Koha/REST/Plugin/Objects.pm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Koha/REST/Plugin/Objects.pm b/Koha/REST/Plugin/Objects.pm
index 81cc97633c..5ae76c1d03 100644
--- a/Koha/REST/Plugin/Objects.pm
+++ b/Koha/REST/Plugin/Objects.pm
@@ -65,6 +65,10 @@ sub register {
                 }
             );
 
+            # If no pagination parameters are passed, default
+            $reserved_params->{_per_page} //= C4::Context->preference('RESTdefaultPageSize');
+            $reserved_params->{_page}     //= 1;
+
             # Merge pagination into query attributes
             $c->dbic_merge_pagination(
                 {
-- 
2.20.1