Return xml notice at /notice path.

This commit is contained in:
Lain Iwakura 2017-11-27 17:24:52 +01:00
parent 89a8dc7485
commit c680ae581d
3 changed files with 24 additions and 0 deletions

View file

@ -86,6 +86,19 @@ def activity(conn, %{"uuid" => uuid}) do
end
end
def notice(conn, %{"id" => id}) do
with %Activity{} = activity <- Repo.get(Activity, id),
%User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do
case get_format(conn) do
"html" ->
conn
|> put_resp_content_type("text/html")
|> send_file(200, "priv/static/index.html")
_ -> represent_activity(conn, activity, user)
end
end
end
defp represent_activity(conn, activity, user) do
response = activity
|> ActivityRepresenter.to_simple_form(user, true)

View file

@ -207,6 +207,7 @@ def user_fetcher(username) do
get "/objects/:uuid", OStatus.OStatusController, :object
get "/activities/:uuid", OStatus.OStatusController, :activity
get "/notice/:id", OStatus.OStatusController, :notice
get "/users/:nickname/feed", OStatus.OStatusController, :feed
get "/users/:nickname", OStatus.OStatusController, :feed_redirect

View file

@ -73,6 +73,16 @@ test "gets an activity", %{conn: conn} do
assert response(conn, 200)
end
test "gets a notice", %{conn: conn} do
note_activity = insert(:note_activity)
url = "/notice/#{note_activity.id}"
conn = conn
|> get(url)
assert response(conn, 200)
end
end
defmodule Pleroma.Web.OStatusMock do