Commit fb023002 authored by lain's avatar lain

Pleroma AP detection mechanism.

parent 9a4d400f
Pipeline #823 failed with stage
in 2 minutes and 5 seconds
......@@ -177,6 +177,13 @@ defmodule Pleroma.Web.OStatus do
end
def maybe_update(doc, user) do
if "true" == string_from_xpath("//author[1]/ap_enabled", doc) do
Transmogrifier.upgrade_user_from_ap_id(user.ap_id)
else
maybe_update_ostatus(doc, user)
end
end
def maybe_update_ostatus(doc, user) do
old_data = %{
avatar: user.avatar,
bio: user.bio,
......
......@@ -12,6 +12,12 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do
[]
end
ap_enabled = if user.local do
[{:ap_enabled, ['true']}]
else
[]
end
[
{:id, [ap_id]},
{:"activity:object", ['http://activitystrea.ms/schema/1.0/person']},
......@@ -22,6 +28,6 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do
{:summary, [bio]},
{:name, [nickname]},
{:link, [rel: 'avatar', href: avatar_url], []}
] ++ banner
] ++ banner ++ ap_enabled
end
end
......@@ -306,7 +306,8 @@ defmodule Pleroma.Web.OStatusTest do
"fqn" => user,
"bio" => "cofe",
"avatar" => %{"type" => "Image", "url" => [%{"href" => "https://social.heldscal.la/avatar/29191-original-20170421154949.jpeg", "mediaType" => "image/jpeg", "type" => "Link"}]},
"subscribe_address" => "https://social.heldscal.la/main/ostatussub?profile={uri}"
"subscribe_address" => "https://social.heldscal.la/main/ostatussub?profile={uri}",
"ap_id" => nil
}
assert data == expected
end
......@@ -330,7 +331,8 @@ defmodule Pleroma.Web.OStatusTest do
"fqn" => user,
"bio" => "cofe",
"avatar" => %{"type" => "Image", "url" => [%{"href" => "https://social.heldscal.la/avatar/29191-original-20170421154949.jpeg", "mediaType" => "image/jpeg", "type" => "Link"}]},
"subscribe_address" => "https://social.heldscal.la/main/ostatussub?profile={uri}"
"subscribe_address" => "https://social.heldscal.la/main/ostatussub?profile={uri}",
"ap_id" => nil
}
assert data == expected
end
......
......@@ -22,6 +22,7 @@ defmodule Pleroma.Web.OStatus.UserRepresenterTest do
<name>#{user.nickname}</name>
<link rel="avatar" href="#{User.avatar_url(user)}" />
<link rel="header" href="#{User.banner_url(user)}" />
<ap_enabled>true</ap_enabled>
"""
assert clean(res) == clean(expected)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment