ActivityPub: Use only string keys in views.

This commit is contained in:
Lain Iwakura 2017-12-11 18:20:41 +01:00
parent da005d3332
commit a89a613e4e

View File

@ -8,43 +8,43 @@ def render("user.json", %{user: user}) do
public_key = :public_key.pem_entry_encode(:RSAPublicKey, public_key)
public_key = :public_key.pem_encode([public_key])
%{
"@context": [
"@context" => [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
%{
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"sensitive": "as:sensitive",
"Hashtag": "as:Hashtag",
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"toot": "http://joinmastodon.org/ns#",
"Emoji": "toot:Emoji"
"manuallyApprovesFollowers" => "as:manuallyApprovesFollowers",
"sensitive" => "as:sensitive",
"Hashtag" => "as:Hashtag",
"ostatus" => "http://ostatus.org#",
"atomUri" => "ostatus:atomUri",
"inReplyToAtomUri" => "ostatus:inReplyToAtomUri",
"conversation" => "ostatus:conversation",
"toot" => "http://joinmastodon.org/ns#",
"Emoji" => "toot:Emoji"
}
],
"id": user.ap_id,
"type": "Person",
"following": "#{user.ap_id}/following",
"followers": "#{user.ap_id}/followers",
"inbox": "#{user.ap_id}/inbox",
"outbox": "#{user.ap_id}/outbox",
"preferredUsername": user.nickname,
"name": user.name,
"summary": user.bio,
"url": user.ap_id,
"manuallyApprovesFollowers": false,
"publicKey": %{
"id": "#{user.ap_id}#main-key",
"owner": user.ap_id,
"publicKeyPem": public_key
"id" => user.ap_id,
"type" => "Person",
"following" => "#{user.ap_id}/following",
"followers" => "#{user.ap_id}/followers",
"inbox" => "#{user.ap_id}/inbox",
"outbox" => "#{user.ap_id}/outbox",
"preferredUsername" => user.nickname,
"name" => user.name,
"summary" => user.bio,
"url" => user.ap_id,
"manuallyApprovesFollowers" => false,
"publicKey" => %{
"id" => "#{user.ap_id}#main-key",
"owner" => user.ap_id,
"publicKeyPem" => public_key
},
"endpoints": %{
"sharedInbox": "#{Pleroma.Web.Endpoint.url}/inbox"
"endpoints" => %{
"sharedInbox" => "#{Pleroma.Web.Endpoint.url}/inbox"
},
"icon": %{
"type": "Image",
"url": User.avatar_url(user)
"icon" => %{
"type" => "Image",
"url" => User.avatar_url(user)
}
}
end