diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-09-13 16:11:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-13 16:11:13 +0200 |
commit | 18331fefa2246facc818226043b1f9cc67cf6c1a (patch) | |
tree | 38b9fa73e03c34bca84080f822eb8b3bc327ed09 /app/controllers/api/v2/search_controller.rb | |
parent | cf2b708e6bf46db592199b757db9747005f6984d (diff) |
Remove deprecated `GET /api/v1/search` API (#11823)
Use `GET /api/v2/search` instead
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..c14cd22d7 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 = 20 + + 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 |