80e02b90e4
Filters out hidden stream entries from Atom feed Blocks now generate hidden stream entries, can be used to federate blocks Private statuses cannot be reblogged (generates generic 422 error for now) POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean Statuses JSON now contains visibility=(public|unlisted|private) field
31 lines
594 B
Ruby
31 lines
594 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Block < ApplicationRecord
|
|
include Streamable
|
|
|
|
belongs_to :account
|
|
belongs_to :target_account, class_name: 'Account'
|
|
|
|
validates :account, :target_account, presence: true
|
|
validates :account_id, uniqueness: { scope: :target_account_id }
|
|
|
|
def verb
|
|
destroyed? ? :unblock : :block
|
|
end
|
|
|
|
def target
|
|
target_account
|
|
end
|
|
|
|
def object_type
|
|
:person
|
|
end
|
|
|
|
def hidden?
|
|
true
|
|
end
|
|
|
|
def title
|
|
destroyed? ? "#{account.acct} is no longer blocking #{target_account.acct}" : "#{account.acct} blocked #{target_account.acct}"
|
|
end
|
|
end
|