From e970f9a20677e8e8b6eeb3ceffa2d083c74b64bc Mon Sep 17 00:00:00 2001
From: Israel Sant'Anna <ibsantanna@inf.ufpr.br>
Date: Wed, 16 Jun 2021 12:05:34 -0300
Subject: [PATCH] Fix review pagination

---
 app/controllers/concerns/paginator.rb             | 2 +-
 app/controllers/concerns/reviewable_controller.rb | 2 +-
 app/controllers/v1/reviews_controller.rb          | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/app/controllers/concerns/paginator.rb b/app/controllers/concerns/paginator.rb
index 38dda601b..af015ff08 100644
--- a/app/controllers/concerns/paginator.rb
+++ b/app/controllers/concerns/paginator.rb
@@ -38,7 +38,7 @@ module Paginator
 
     def offset
       return params[:offset].to_i if !params[:offset].blank?
-      return params[:page].to_i*params[:results_per_page].to_i if !params[:page].blank? && !params[:results_per_page].blank?
+      return params[:page].to_i*limit if !params[:page].blank?
       return 0
     end
 
diff --git a/app/controllers/concerns/reviewable_controller.rb b/app/controllers/concerns/reviewable_controller.rb
index 4b3eabe81..b6b794847 100644
--- a/app/controllers/concerns/reviewable_controller.rb
+++ b/app/controllers/concerns/reviewable_controller.rb
@@ -29,7 +29,7 @@ module ReviewableController
 
   # GET /v1/collections/1/reviews
   def index
-    render json: Review.where(reviewable: reviewable)
+    render json: paginate(Review.where(reviewable: reviewable)), each_serializer: ReviewSerializer
   end
 
   # GET /v1/collections/1/reviews/1
diff --git a/app/controllers/v1/reviews_controller.rb b/app/controllers/v1/reviews_controller.rb
index 9f8fe1559..2ca13cecf 100644
--- a/app/controllers/v1/reviews_controller.rb
+++ b/app/controllers/v1/reviews_controller.rb
@@ -20,13 +20,14 @@
 class V1::ReviewsController < ApplicationController
   include ::DeletedObjectsController
   include ::ResourceModel
+  include ::Paginator
 
   before_action :set_review, only: [:show, :destroy, :rate, :update]
   before_action :authenticate_user!, only: [:create, :rate, :destroy, :update]
 
   # GET /v1/collections/1/reviews
   def index
-    render json: reviewable.reviews, each_serializer: ReviewSerializer
+    render json: paginate(reviewable.reviews), each_serializer: ReviewSerializer
   end
 
   # GET /v1/collections/1/reviews/1
-- 
GitLab