diff options
author | Jenkins <jenkins@jenkins.ninjawedding.org> | 2017-12-06 20:17:13 +0000 |
---|---|---|
committer | Jenkins <jenkins@jenkins.ninjawedding.org> | 2017-12-06 20:17:13 +0000 |
commit | 8ca91cef45417947607079118b1af07c9774ae58 (patch) | |
tree | cafbe6cc30563ca35ffa522056ead63ca450d9c1 /app/controllers | |
parent | f2f2f1032082d6212771bd0307136484f671d37e (diff) | |
parent | a0047fdca052088cce0e23c3b58b95f13be19805 (diff) |
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
Diffstat (limited to 'app/controllers')
4 files changed, 24 insertions, 24 deletions
diff --git a/app/controllers/api/v1/accounts/search_controller.rb b/app/controllers/api/v1/accounts/search_controller.rb index 2a5cac547..11e647c3c 100644 --- a/app/controllers/api/v1/accounts/search_controller.rb +++ b/app/controllers/api/v1/accounts/search_controller.rb @@ -17,12 +17,13 @@ class Api::V1::Accounts::SearchController < Api::BaseController AccountSearchService.new.call( params[:q], limit_param(DEFAULT_ACCOUNTS_LIMIT), - resolving_search?, - current_account + current_account, + resolve: truthy_param?(:resolve), + following: truthy_param?(:following) ) end - def resolving_search? - params[:resolve] == 'true' + def truthy_param?(key) + params[key] == 'true' end end diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index b1a2ed573..4e73e9e8b 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -51,7 +51,7 @@ class Api::V1::AccountsController < Api::BaseController @account = Account.find(params[:id]) end - def relationships(options = {}) + def relationships(**options) AccountRelationshipsPresenter.new([@account.id], current_user.account_id, options) end end diff --git a/app/controllers/api/v1/lists/accounts_controller.rb b/app/controllers/api/v1/lists/accounts_controller.rb index 40c485e8d..c29c73b3e 100644 --- a/app/controllers/api/v1/lists/accounts_controller.rb +++ b/app/controllers/api/v1/lists/accounts_controller.rb @@ -10,7 +10,7 @@ class Api::V1::Lists::AccountsController < Api::BaseController after_action :insert_pagination_headers, only: :show def show - @accounts = @list.accounts.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]) + @accounts = load_accounts render json: @accounts, each_serializer: REST::AccountSerializer end @@ -35,6 +35,14 @@ class Api::V1::Lists::AccountsController < Api::BaseController @list = List.where(account: current_account).find(params[:list_id]) end + def load_accounts + if unlimited? + @list.accounts.all + else + @list.accounts.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]) + end + end + def list_accounts Account.find(account_ids) end @@ -52,12 +60,16 @@ class Api::V1::Lists::AccountsController < Api::BaseController end def next_path + return if unlimited? + if records_continue? api_v1_list_accounts_url pagination_params(max_id: pagination_max_id) end end def prev_path + return if unlimited? + unless @accounts.empty? api_v1_list_accounts_url pagination_params(since_id: pagination_since_id) end @@ -78,4 +90,8 @@ class Api::V1::Lists::AccountsController < Api::BaseController def pagination_params(core_params) params.permit(:limit).merge(core_params) end + + def unlimited? + params[:limit] == '0' + end end diff --git a/app/controllers/well_known/webfinger_controller.rb b/app/controllers/well_known/webfinger_controller.rb index 1c27b2b18..5cc606808 100644 --- a/app/controllers/well_known/webfinger_controller.rb +++ b/app/controllers/well_known/webfinger_controller.rb @@ -6,12 +6,10 @@ module WellKnown def show @account = Account.find_local!(username_from_resource) - @canonical_account_uri = @account.to_webfinger_s - @magic_key = pem_to_magic_key(@account.keypair.public_key) respond_to do |format| format.any(:json, :html) do - render formats: :json, content_type: 'application/jrd+json' + render json: @account, serializer: WebfingerSerializer, content_type: 'application/jrd+json' end format.xml do @@ -35,21 +33,6 @@ module WellKnown WebfingerResource.new(resource_user).username end - def pem_to_magic_key(public_key) - modulus, exponent = [public_key.n, public_key.e].map do |component| - result = [] - - until component.zero? - result << [component % 256].pack('C') - component >>= 8 - end - - result.reverse.join - end - - (['RSA'] + [modulus, exponent].map { |n| Base64.urlsafe_encode64(n) }).join('.') - end - def resource_param params.require(:resource) end |