Fix mutes_controller error and incorrect statuses_controller report (#3202)

This commit fixes a regression in commit
f554807563.
pull/17/head
Akihiko Odaki 2017-05-21 20:32:13 +09:00 committed by Eugen Rochko
parent 860f408475
commit 2af5cd96fe
3 changed files with 12 additions and 10 deletions

View File

@ -7,14 +7,14 @@ class Api::V1::MutesController < ApiController
respond_to :json respond_to :json
def index def index
@accounts = Account.includes(:muting) @accounts = Account.includes(:muted_by)
.references(:muting) .references(:muted_by)
.merge(Mute.where(account: current_account) .merge(Mute.where(account: current_account)
.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id])) .paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]))
.to_a .to_a
next_path = api_v1_mutes_url(pagination_params(max_id: @accounts.last.mutings_accounts.last.id)) if @accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT) next_path = api_v1_mutes_url(pagination_params(max_id: @accounts.last.muted_by_ids.last)) if @accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
prev_path = api_v1_mutes_url(pagination_params(since_id: @accounts.first.mutings_accounts.first.id)) unless @accounts.empty? prev_path = api_v1_mutes_url(pagination_params(since_id: @accounts.first.muted_by_ids.first)) unless @accounts.empty?
set_pagination_headers(next_path, prev_path) set_pagination_headers(next_path, prev_path)
end end

View File

@ -47,14 +47,14 @@ class Api::V1::StatusesController < ApiController
end end
def favourited_by def favourited_by
@accounts = Account.includes(statuses: :favourites) @accounts = Account.includes(:favourites)
.references(statuses: :favourites) .references(:favourites)
.where(statuses: { id: @status.id }) .where(favourites: { status_id: @status.id })
.merge(@status.favourites.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id])) .merge(Favourite.paginate_by_max_id(limit_param(DEFAULT_ACCOUNTS_LIMIT), params[:max_id], params[:since_id]))
.to_a .to_a
next_path = favourited_by_api_v1_status_url(pagination_params(max_id: @accounts.last.statuses.last.favourites.last.id)) if @accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT) next_path = favourited_by_api_v1_status_url(pagination_params(max_id: @accounts.last.favourites.last.id)) if @accounts.size == limit_param(DEFAULT_ACCOUNTS_LIMIT)
prev_path = favourited_by_api_v1_status_url(pagination_params(since_id: @accounts.first.statuses.first.favourites.first.id)) unless @accounts.empty? prev_path = favourited_by_api_v1_status_url(pagination_params(since_id: @accounts.first.favourites.first.id)) unless @accounts.empty?
set_pagination_headers(next_path, prev_path) set_pagination_headers(next_path, prev_path)

View File

@ -50,6 +50,8 @@ module AccountInteractions
# Mute relationships # Mute relationships
has_many :mute_relationships, class_name: 'Mute', foreign_key: 'account_id', dependent: :destroy has_many :mute_relationships, class_name: 'Mute', foreign_key: 'account_id', dependent: :destroy
has_many :muting, -> { order('mutes.id desc') }, through: :mute_relationships, source: :target_account has_many :muting, -> { order('mutes.id desc') }, through: :mute_relationships, source: :target_account
has_many :muted_by_relationships, class_name: 'Mute', foreign_key: :target_account_id, dependent: :destroy
has_many :muted_by, -> { order('mutes.id desc') }, through: :muted_by_relationships, source: :account
has_many :conversation_mutes, dependent: :destroy has_many :conversation_mutes, dependent: :destroy
has_many :domain_blocks, class_name: 'AccountDomainBlock', dependent: :destroy has_many :domain_blocks, class_name: 'AccountDomainBlock', dependent: :destroy
end end