Store URIs of follows, follow requests and blocks for ActivityPub (#7160)
Same URI passed between follow request and follow, since they are the same thing in ActivityPub. Local URIs are generated during creation using UUIDs and are passed to serializers.
This commit is contained in:
parent
d1aef17f9a
commit
6793bec4c6
11 changed files with 64 additions and 13 deletions
|
@ -8,6 +8,7 @@
|
|||
# updated_at :datetime not null
|
||||
# account_id :bigint(8) not null
|
||||
# target_account_id :bigint(8) not null
|
||||
# uri :string
|
||||
#
|
||||
|
||||
class Block < ApplicationRecord
|
||||
|
@ -19,7 +20,12 @@ class Block < ApplicationRecord
|
|||
|
||||
validates :account_id, uniqueness: { scope: :target_account_id }
|
||||
|
||||
def local?
|
||||
false # Force uri_for to use uri attribute
|
||||
end
|
||||
|
||||
after_commit :remove_blocking_cache
|
||||
before_validation :set_uri, only: :create
|
||||
|
||||
private
|
||||
|
||||
|
@ -27,4 +33,8 @@ class Block < ApplicationRecord
|
|||
Rails.cache.delete("exclude_account_ids_for:#{account_id}")
|
||||
Rails.cache.delete("exclude_account_ids_for:#{target_account_id}")
|
||||
end
|
||||
|
||||
def set_uri
|
||||
self.uri = ActivityPub::TagManager.instance.generate_uri_for(self) if uri.nil?
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue