Add notifications of severed relationships (#27511)
This commit is contained in:
parent
8a1423a474
commit
44bf7b8128
39 changed files with 781 additions and 54 deletions
40
app/models/severed_relationship.rb
Normal file
40
app/models/severed_relationship.rb
Normal file
|
@ -0,0 +1,40 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: severed_relationships
|
||||
#
|
||||
# id :bigint(8) not null, primary key
|
||||
# relationship_severance_event_id :bigint(8) not null
|
||||
# local_account_id :bigint(8) not null
|
||||
# remote_account_id :bigint(8) not null
|
||||
# direction :integer not null
|
||||
# show_reblogs :boolean
|
||||
# notify :boolean
|
||||
# languages :string is an Array
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
#
|
||||
class SeveredRelationship < ApplicationRecord
|
||||
belongs_to :relationship_severance_event
|
||||
belongs_to :local_account, class_name: 'Account'
|
||||
belongs_to :remote_account, class_name: 'Account'
|
||||
|
||||
enum direction: {
|
||||
passive: 0, # analogous to `local_account.passive_relationships`
|
||||
active: 1, # analogous to `local_account.active_relationships`
|
||||
}
|
||||
|
||||
scope :about_local_account, ->(account) { where(local_account: account) }
|
||||
|
||||
scope :active, -> { where(direction: :active) }
|
||||
scope :passive, -> { where(direction: :passive) }
|
||||
|
||||
def account
|
||||
active? ? local_account : remote_account
|
||||
end
|
||||
|
||||
def target_account
|
||||
active? ? remote_account : local_account
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue