Add public key declaration to actors (#4215)

This commit is contained in:
Eugen Rochko 2017-07-17 02:37:27 +02:00 committed by GitHub
parent a3202fd51e
commit a47c2e8890
2 changed files with 23 additions and 0 deletions

View File

@ -7,6 +7,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
:inbox, :outbox, :preferred_username, :inbox, :outbox, :preferred_username,
:name, :summary, :icon, :image :name, :summary, :icon, :image
has_one :public_key, serializer: ActivityPub::PublicKeySerializer
def id def id
account_url(object) account_url(object)
end end
@ -50,4 +52,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
def image def image
full_asset_url(object.header.url(:original)) full_asset_url(object.header.url(:original))
end end
def public_key
object
end
end end

View File

@ -0,0 +1,17 @@
# frozen_string_literal: true
class ActivityPub::PublicKeySerializer < ActiveModel::Serializer
attributes :id, :owner, :public_key_pem
def id
[ActivityPub::TagManager.instance.uri_for(object), '#main-key'].join
end
def owner
ActivityPub::TagManager.instance.uri_for(object)
end
def public_key_pem
object.public_key
end
end