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
|