|
|
|
@ -81,8 +81,10 @@ module AccountInteractions
|
|
|
|
|
# Follow relations
|
|
|
|
|
has_many :follow_requests, dependent: :destroy
|
|
|
|
|
|
|
|
|
|
has_many :active_relationships, class_name: 'Follow', foreign_key: 'account_id', dependent: :destroy
|
|
|
|
|
has_many :passive_relationships, class_name: 'Follow', foreign_key: 'target_account_id', dependent: :destroy
|
|
|
|
|
with_options class_name: 'Follow', dependent: :destroy do
|
|
|
|
|
has_many :active_relationships, foreign_key: 'account_id', inverse_of: :account
|
|
|
|
|
has_many :passive_relationships, foreign_key: 'target_account_id', inverse_of: :target_account
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
has_many :following, -> { order('follows.id desc') }, through: :active_relationships, source: :target_account
|
|
|
|
|
has_many :followers, -> { order('follows.id desc') }, through: :passive_relationships, source: :account
|
|
|
|
@ -91,15 +93,19 @@ module AccountInteractions
|
|
|
|
|
has_many :account_notes, dependent: :destroy
|
|
|
|
|
|
|
|
|
|
# Block relationships
|
|
|
|
|
has_many :block_relationships, class_name: 'Block', foreign_key: 'account_id', dependent: :destroy
|
|
|
|
|
with_options class_name: 'Block', dependent: :destroy do
|
|
|
|
|
has_many :block_relationships, foreign_key: 'account_id', inverse_of: :account
|
|
|
|
|
has_many :blocked_by_relationships, foreign_key: :target_account_id, inverse_of: :target_account
|
|
|
|
|
end
|
|
|
|
|
has_many :blocking, -> { order('blocks.id desc') }, through: :block_relationships, source: :target_account
|
|
|
|
|
has_many :blocked_by_relationships, class_name: 'Block', foreign_key: :target_account_id, dependent: :destroy
|
|
|
|
|
has_many :blocked_by, -> { order('blocks.id desc') }, through: :blocked_by_relationships, source: :account
|
|
|
|
|
|
|
|
|
|
# Mute relationships
|
|
|
|
|
has_many :mute_relationships, class_name: 'Mute', foreign_key: 'account_id', dependent: :destroy
|
|
|
|
|
with_options class_name: 'Mute', dependent: :destroy do
|
|
|
|
|
has_many :mute_relationships, foreign_key: 'account_id', inverse_of: :account
|
|
|
|
|
has_many :muted_by_relationships, foreign_key: :target_account_id, inverse_of: :target_account
|
|
|
|
|
end
|
|
|
|
|
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 :domain_blocks, class_name: 'AccountDomainBlock', dependent: :destroy
|
|
|
|
|