diff options
author | ThibG <thib@sitedethib.com> | 2019-06-07 22:15:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-07 22:15:44 +0200 |
commit | 11c28abcfebcf8827f99a86540076347f1a1edff (patch) | |
tree | b5d615001967cf102e88fac86b8ddb3227600109 /app/services/concerns | |
parent | 83600198961cce9bfe82cf0f0c33286703bc86d1 (diff) | |
parent | aec3fa35fda50e7f618dcf8b8f14e78a995583f4 (diff) |
Merge pull request #1097 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/services/concerns')
-rw-r--r-- | app/services/concerns/payloadable.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/services/concerns/payloadable.rb b/app/services/concerns/payloadable.rb new file mode 100644 index 000000000..13d9c3548 --- /dev/null +++ b/app/services/concerns/payloadable.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Payloadable + def serialize_payload(record, serializer, options = {}) + signer = options.delete(:signer) + sign_with = options.delete(:sign_with) + payload = ActiveModelSerializers::SerializableResource.new(record, options.merge(serializer: serializer, adapter: ActivityPub::Adapter)).as_json + + if (record.respond_to?(:sign?) && record.sign?) && signer && signing_enabled? + ActivityPub::LinkedDataSignature.new(payload).sign!(signer, sign_with: sign_with) + else + payload + end + end + + def signing_enabled? + true + end +end |