]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_comments/feeds_controller.rb
Merge remote-tracking branch 'upstream/pull/5278'
[rails.git] / app / controllers / changeset_comments / feeds_controller.rb
index fef48bb188f885dbfac1188f0541002f16bba88b..148873eea8321b338d54dfd9a51b37045fd1a97e 100644 (file)
@@ -1,5 +1,7 @@
 module ChangesetComments
   class FeedsController < ApplicationController
+    include QueryMethods
+
     before_action :authorize_web
     before_action :set_locale
 
@@ -19,10 +21,13 @@ module ChangesetComments
         changeset = Changeset.find(changeset_id)
 
         # Return comments for this changeset only
-        @comments = changeset.comments.includes(:author, :changeset).reverse_order.limit(comments_limit)
+        @comments = changeset.comments.includes(:author, :changeset).reverse_order
+        @comments = query_limit(@comments)
       else
         # Return comments
-        @comments = ChangesetComment.includes(:author, :changeset).where(:visible => true).order("created_at DESC").limit(comments_limit).preload(:changeset)
+        @comments = ChangesetComment.includes(:author, :changeset).where(:visible => true).order("created_at DESC")
+        @comments = query_limit(@comments)
+        @comments = @comments.preload(:changeset)
       end
 
       # Render the result
@@ -32,21 +37,5 @@ module ChangesetComments
     rescue OSM::APIBadUserInput
       head :bad_request
     end
-
-    private
-
-    ##
-    # Get the maximum number of comments to return
-    def comments_limit
-      if params[:limit]
-        if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
-          params[:limit].to_i
-        else
-          raise OSM::APIBadUserInput, "Comments limit must be between 1 and 10000"
-        end
-      else
-        100
-      end
-    end
   end
 end