about summary refs log tree commit diff
path: root/app/controllers/api/v1/search_controller.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-02-26 21:40:28 +0100
committerGitHub <noreply@github.com>2019-02-26 21:40:28 +0100
commitff2270cd061b2dc3fc86a5b2bd77d0a3408b5716 (patch)
tree75adb7dc4d3c37ecf87b43659538e20ec198d804 /app/controllers/api/v1/search_controller.rb
parentd82de360c13894746d3974d11c9505c8937ebdee (diff)
parent1e06ca1c0af98cf61b1114b93249fb447e795edb (diff)
Merge pull request #930 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/controllers/api/v1/search_controller.rb')
-rw-r--r--app/controllers/api/v1/search_controller.rb26
1 files changed, 9 insertions, 17 deletions
diff --git a/app/controllers/api/v1/search_controller.rb b/app/controllers/api/v1/search_controller.rb
index 895b22b7e..6131cbbb6 100644
--- a/app/controllers/api/v1/search_controller.rb
+++ b/app/controllers/api/v1/search_controller.rb
@@ -3,7 +3,7 @@
 class Api::V1::SearchController < Api::BaseController
   include Authorization
 
-  RESULTS_LIMIT = 10
+  RESULTS_LIMIT = 20
 
   before_action -> { doorkeeper_authorize! :read, :'read:search' }
   before_action :require_user!
@@ -11,30 +11,22 @@ class Api::V1::SearchController < Api::BaseController
   respond_to :json
 
   def index
-    @search = Search.new(search)
+    @search = Search.new(search_results)
     render json: @search, serializer: REST::SearchSerializer
   end
 
   private
 
-  def search
-    search_results.tap do |search|
-      search[:statuses].keep_if do |status|
-        begin
-          authorize status, :show?
-        rescue Mastodon::NotPermittedError
-          false
-        end
-      end
-    end
-  end
-
   def search_results
     SearchService.new.call(
       params[:q],
-      RESULTS_LIMIT,
-      truthy_param?(:resolve),
-      current_account
+      current_account,
+      limit_param(RESULTS_LIMIT),
+      search_params.merge(resolve: truthy_param?(:resolve))
     )
   end
+
+  def search_params
+    params.permit(:type, :offset, :min_id, :max_id, :account_id)
+  end
 end