diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-11-17 22:10:15 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-11-17 22:10:15 +0000 |
commit | 98795172a76db8d3331015461a021092c75cae5d (patch) | |
tree | 137d8ae7c819a4fbb82aae88cb826bd2ec3ec8bf /lib | |
parent | d73c7cc0caf322316541fe8daf72ec34d95e1520 (diff) | |
download | pleroma-98795172a76db8d3331015461a021092c75cae5d.tar.gz pleroma-98795172a76db8d3331015461a021092c75cae5d.zip |
ostatus controller: respond with AS2 objects instead of activities to notice URIs
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/ostatus/ostatus_controller.ex | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index 2f92935e7..34fdf9727 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -1,7 +1,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do use Pleroma.Web, :controller - alias Pleroma.{User, Activity} + alias Pleroma.{User, Activity, Object} alias Pleroma.Web.OStatus.{FeedRepresenter, ActivityRepresenter} alias Pleroma.Repo alias Pleroma.Web.{OStatus, Federator} @@ -153,10 +153,21 @@ defmodule Pleroma.Web.OStatus.OStatusController do end end - defp represent_activity(conn, "activity+json", activity, user) do + defp represent_activity( + conn, + "activity+json", + %Activity{data: %{"type" => "Create"}} = activity, + user + ) do + object = Object.normalize(activity.data["object"]) + conn |> put_resp_header("content-type", "application/activity+json") - |> json(ObjectView.render("object.json", %{object: activity})) + |> json(ObjectView.render("object.json", %{object: object})) + end + + defp represent_activity(conn, "activity+json", _, _) do + {:error, :not_found} end defp represent_activity(conn, _, activity, user) do |