0
0
Fork 0

Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966)

This commit is contained in:
Eugen Rochko 2019-06-04 23:11:18 +02:00 committed by GitHub
parent 48fee1a800
commit f2b743e715
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 79 additions and 153 deletions

View file

@ -2,6 +2,7 @@
class ActivityPub::DistributionWorker
include Sidekiq::Worker
include Payloadable
sidekiq_options queue: 'push'
@ -41,20 +42,8 @@ class ActivityPub::DistributionWorker
end
end
def signed_payload
Oj.dump(ActivityPub::LinkedDataSignature.new(unsigned_payload).sign!(@account))
end
def unsigned_payload
ActiveModelSerializers::SerializableResource.new(
@status,
serializer: ActivityPub::ActivitySerializer,
adapter: ActivityPub::Adapter
).as_json
end
def payload
@payload ||= @status.distributable? ? signed_payload : Oj.dump(unsigned_payload)
@payload ||= Oj.dump(serialize_payload(@status, ActivityPub::ActivitySerializer, signer: @account))
end
def relay!