logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: c680ae581d028144ebea414b4137433ac7ca8e6a
parent: 89a8dc748525063afc673e49875d0b605df73d77
Author: Lain Iwakura <lain@soykaf.club>
Date:   Mon, 27 Nov 2017 17:24:52 +0100

Return xml notice at /notice path.

Diffstat:

Mlib/pleroma/web/ostatus/ostatus_controller.ex13+++++++++++++
Mlib/pleroma/web/router.ex1+
Mtest/web/ostatus/ostatus_controller_test.exs10++++++++++
3 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -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) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex @@ -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 diff --git a/test/web/ostatus/ostatus_controller_test.exs b/test/web/ostatus/ostatus_controller_test.exs @@ -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