ActivityPub migration procedure (#4617)
* ActivityPub migration procedure Once one account is detected as going from OStatus to ActivityPub, invalidate WebFinger cache for other accounts from the same domain * Unsubscribe from PuSH updates once we receive an ActivityPub payload * Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
This commit is contained in:
parent
4c23544714
commit
6e9eda5331
8 changed files with 47 additions and 8 deletions
|
@ -12,7 +12,8 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
@domain = domain
|
||||
@account = Account.find_by(uri: @uri)
|
||||
|
||||
create_account if @account.nil?
|
||||
create_account if @account.nil?
|
||||
upgrade_account if @account.ostatus?
|
||||
update_account
|
||||
|
||||
@account
|
||||
|
@ -24,6 +25,7 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
|
||||
def create_account
|
||||
@account = Account.new
|
||||
@account.protocol = :activitypub
|
||||
@account.username = @username
|
||||
@account.domain = @domain
|
||||
@account.uri = @uri
|
||||
|
@ -50,6 +52,10 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
@account.save!
|
||||
end
|
||||
|
||||
def upgrade_account
|
||||
ActivityPub::PostUpgradeWorker.perform_async(@account.domain)
|
||||
end
|
||||
|
||||
def image_url(key)
|
||||
value = first_of_value(@json[key])
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue