diff options
author | Kit Redgrave <qwertyitis@gmail.com> | 2017-02-05 19:51:56 -0600 |
---|---|---|
committer | Kit Redgrave <qwertyitis@gmail.com> | 2017-03-01 22:31:21 -0600 |
commit | 442fdbfc5309f46c23a073829e5fe16d10c7c6ca (patch) | |
tree | ee8195e874e83722990cfaca7b65fc54383caaf9 /app/controllers/api/v1/mutes_controller.rb | |
parent | 89fc2d7f4810ecdf66b17543f4603c1089a0c3f5 (diff) |
Mute button progress so far. WIP, doesn't entirely work correctly.
Diffstat (limited to 'app/controllers/api/v1/mutes_controller.rb')
-rw-r--r-- | app/controllers/api/v1/mutes_controller.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/controllers/api/v1/mutes_controller.rb b/app/controllers/api/v1/mutes_controller.rb new file mode 100644 index 000000000..42a9ed412 --- /dev/null +++ b/app/controllers/api/v1/mutes_controller.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +class Api::V1::MutesController < ApiController + before_action -> { doorkeeper_authorize! :follow } + before_action :require_user! + + respond_to :json + + def index + results = Mute.where(account: current_account).paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]) + accounts = Account.where(id: results.map(&:target_account_id)).map { |a| [a.id, a] }.to_h + @accounts = results.map { |f| accounts[f.target_account_id] } + + set_account_counters_maps(@accounts) + + next_path = api_v1_mutes_url(max_id: results.last.id) if results.size == limit_param(DEFAULT_ACCOUNTS_LIMIT) + prev_path = api_v1_mutes_url(since_id: results.first.id) unless results.empty? + + set_pagination_headers(next_path, prev_path) + end +end |