diff options
author | David Yip <yipdw@member.fsf.org> | 2017-12-06 15:40:59 -0600 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-12-06 15:40:59 -0600 |
commit | f1cbea77a4a52929244198dcbde26d63d837489a (patch) | |
tree | 82645dbc9eec65f870ce7a211355deb6bdc29f29 /app/controllers/api/v1/lists/accounts_controller.rb | |
parent | 21e28a5caa5e92165322c4127c89a6f88e68198a (diff) | |
parent | 8ca91cef45417947607079118b1af07c9774ae58 (diff) |
Merge remote-tracking branch 'personal/merge/tootsuite/master' into gs-master
Diffstat (limited to 'app/controllers/api/v1/lists/accounts_controller.rb')
-rw-r--r-- | app/controllers/api/v1/lists/accounts_controller.rb | 18 |
1 files changed, 17 insertions, 1 deletions
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 |