diff options
author | ThibG <thib@sitedethib.com> | 2019-09-15 14:45:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-15 14:45:24 +0200 |
commit | 221bb05cf8d30d7912fd1f860af2552ff7914fd2 (patch) | |
tree | 88ac4e45536fe772a1c47bdf6df27c6ad19a016f /app/controllers/api/v2/search_controller.rb | |
parent | c7f71b974f1a57cd93f86e5a678018d4aea8e728 (diff) | |
parent | b83e2df6b59ccd7cbe8f9145e06b75547dc1101a (diff) |
Merge pull request #1219 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/controllers/api/v2/search_controller.rb')
-rw-r--r-- | app/controllers/api/v2/search_controller.rb | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/app/controllers/api/v2/search_controller.rb b/app/controllers/api/v2/search_controller.rb index 9aa6edc69..7fdc030e5 100644 --- a/app/controllers/api/v2/search_controller.rb +++ b/app/controllers/api/v2/search_controller.rb @@ -1,8 +1,32 @@ # frozen_string_literal: true -class Api::V2::SearchController < Api::V1::SearchController +class Api::V2::SearchController < Api::BaseController + include Authorization + + RESULTS_LIMIT = (ENV['MAX_SEARCH_RESULTS'] || 20).to_i + + before_action -> { doorkeeper_authorize! :read, :'read:search' } + before_action :require_user! + + respond_to :json + def index @search = Search.new(search_results) - render json: @search, serializer: REST::V2::SearchSerializer + render json: @search, serializer: REST::SearchSerializer + end + + private + + def search_results + SearchService.new.call( + params[:q], + 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 |