0
0
Fork 0

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:
Eugen Rochko 2017-08-21 01:14:40 +02:00 committed by GitHub
parent 4c23544714
commit 6e9eda5331
8 changed files with 47 additions and 8 deletions

View file

@ -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])