36 lines
573 B
Ruby
36 lines
573 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class ActivityPub::OneTimeKeySerializer < ActivityPub::Serializer
|
||
|
context :security
|
||
|
|
||
|
context_extensions :olm
|
||
|
|
||
|
class SignatureSerializer < ActivityPub::Serializer
|
||
|
attributes :type, :signature_value
|
||
|
|
||
|
def type
|
||
|
'Ed25519Signature'
|
||
|
end
|
||
|
|
||
|
def signature_value
|
||
|
object.signature
|
||
|
end
|
||
|
end
|
||
|
|
||
|
attributes :key_id, :type, :public_key_base64
|
||
|
|
||
|
has_one :signature, serializer: SignatureSerializer
|
||
|
|
||
|
def type
|
||
|
'Curve25519Key'
|
||
|
end
|
||
|
|
||
|
def public_key_base64
|
||
|
object.key
|
||
|
end
|
||
|
|
||
|
def signature
|
||
|
object
|
||
|
end
|
||
|
end
|