mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-12-24 18:15:19 +00:00
Fix OStatus controller to know about StaticFEController.
But only when it's configured to be on.
This commit is contained in:
parent
e79d8985ab
commit
0cf04e1088
|
@ -76,37 +76,41 @@ defmodule Pleroma.Web.OStatus.OStatusController do
|
||||||
end
|
end
|
||||||
|
|
||||||
def notice(%{assigns: %{format: format}} = conn, %{"id" => id}) do
|
def notice(%{assigns: %{format: format}} = conn, %{"id" => id}) do
|
||||||
with {_, %Activity{} = activity} <- {:activity, Activity.get_by_id_with_object(id)},
|
if Pleroma.Config.get([:instance, :static_fe], false) do
|
||||||
{_, true} <- {:public?, Visibility.is_public?(activity)},
|
Pleroma.Web.StaticFE.StaticFEController.show(conn, %{"notice_id" => id})
|
||||||
%User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do
|
|
||||||
cond do
|
|
||||||
format == "html" && activity.data["type"] == "Create" ->
|
|
||||||
%Object{} = object = Object.normalize(activity)
|
|
||||||
|
|
||||||
RedirectController.redirector_with_meta(
|
|
||||||
conn,
|
|
||||||
%{
|
|
||||||
activity_id: activity.id,
|
|
||||||
object: object,
|
|
||||||
url: Router.Helpers.o_status_url(Endpoint, :notice, activity.id),
|
|
||||||
user: user
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
format == "html" ->
|
|
||||||
RedirectController.redirector(conn, nil)
|
|
||||||
|
|
||||||
true ->
|
|
||||||
represent_activity(conn, format, activity, user)
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
reason when reason in [{:public?, false}, {:activity, nil}] ->
|
with {_, %Activity{} = activity} <- {:activity, Activity.get_by_id_with_object(id)},
|
||||||
conn
|
{_, true} <- {:public?, Visibility.is_public?(activity)},
|
||||||
|> put_status(404)
|
%User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do
|
||||||
|> RedirectController.redirector(nil, 404)
|
cond do
|
||||||
|
format == "html" && activity.data["type"] == "Create" ->
|
||||||
|
%Object{} = object = Object.normalize(activity)
|
||||||
|
|
||||||
e ->
|
RedirectController.redirector_with_meta(
|
||||||
e
|
conn,
|
||||||
|
%{
|
||||||
|
activity_id: activity.id,
|
||||||
|
object: object,
|
||||||
|
url: Router.Helpers.o_status_url(Endpoint, :notice, activity.id),
|
||||||
|
user: user
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
format == "html" ->
|
||||||
|
RedirectController.redirector(conn, nil)
|
||||||
|
|
||||||
|
true ->
|
||||||
|
represent_activity(conn, format, activity, user)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
reason when reason in [{:public?, false}, {:activity, nil}] ->
|
||||||
|
conn
|
||||||
|
|> put_status(404)
|
||||||
|
|> RedirectController.redirector(nil, 404)
|
||||||
|
|
||||||
|
e ->
|
||||||
|
e
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue