X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fostatus%2Fostatus_controller.ex;h=fd8dcdf5237466f4178173e75c28acbfb8514405;hb=03b7b2fa24127847a764403f5374d5c8f36b7c50;hp=e6822463d534a1a44d20e1bdbb9f3153d3f8c29a;hpb=b403ea4d2b69cef4434ad68babdfb402d8227847;p=akkoma diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index e6822463d..fd8dcdf52 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -44,10 +44,22 @@ defmodule Pleroma.Web.OStatus.OStatusController do end def object(conn, %{"uuid" => uuid}) do - id = o_status_url(conn, :object, uuid) - activity = Activity.get_create_activity_by_object_ap_id(id) - user = User.get_cached_by_ap_id(activity.data["actor"]) + with id <- o_status_url(conn, :object, uuid), + %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id), + %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do + represent_activity(conn, activity, user) + end + end + + def activity(conn, %{"uuid" => uuid}) do + with id <- o_status_url(conn, :activity, uuid), + %Activity{} = activity <- Activity.get_by_ap_id(id), + %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do + represent_activity(conn, activity, user) + end + end + defp represent_activity(conn, activity, user) do response = activity |> ActivityRepresenter.to_simple_form(user, true) |> ActivityRepresenter.wrap_with_entry