Return xml notice at /notice path.
This commit is contained in:
parent
89a8dc7485
commit
c680ae581d
3 changed files with 24 additions and 0 deletions
|
@ -86,6 +86,19 @@ defmodule Pleroma.Web.OStatus.OStatusController 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)
|
||||
|
|
|
@ -207,6 +207,7 @@ defmodule Pleroma.Web.Router 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
|
||||
|
|
|
@ -73,6 +73,16 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest 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
|
||||
|
|
Loading…
Reference in a new issue