forked from AkkomaGang/akkoma
Fix report content stopping to be nullable
This commit is contained in:
parent
44de34d170
commit
bf6aa6f1a8
2 changed files with 11 additions and 4 deletions
|
@ -24,6 +24,13 @@ def render("show.json", %{report: report}) do
|
||||||
[account_ap_id | status_ap_ids] = report.data["object"]
|
[account_ap_id | status_ap_ids] = report.data["object"]
|
||||||
account = User.get_cached_by_ap_id(account_ap_id)
|
account = User.get_cached_by_ap_id(account_ap_id)
|
||||||
|
|
||||||
|
content =
|
||||||
|
unless is_nil(report.data["content"]) do
|
||||||
|
HTML.filter_tags(report.data["content"])
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
statuses =
|
statuses =
|
||||||
Enum.map(status_ap_ids, fn ap_id ->
|
Enum.map(status_ap_ids, fn ap_id ->
|
||||||
Activity.get_by_ap_id_with_object(ap_id)
|
Activity.get_by_ap_id_with_object(ap_id)
|
||||||
|
@ -33,7 +40,7 @@ def render("show.json", %{report: report}) do
|
||||||
id: report.id,
|
id: report.id,
|
||||||
account: AccountView.render("account.json", %{user: account}),
|
account: AccountView.render("account.json", %{user: account}),
|
||||||
actor: AccountView.render("account.json", %{user: user}),
|
actor: AccountView.render("account.json", %{user: user}),
|
||||||
content: HTML.filter_tags(report.data["content"]),
|
content: content,
|
||||||
created_at: created_at,
|
created_at: created_at,
|
||||||
statuses: StatusView.render("index.json", %{activities: statuses, as: :activity}),
|
statuses: StatusView.render("index.json", %{activities: statuses, as: :activity}),
|
||||||
state: report.data["state"]
|
state: report.data["state"]
|
||||||
|
|
|
@ -17,7 +17,7 @@ test "renders a report" do
|
||||||
{:ok, activity} = CommonAPI.report(user, %{"account_id" => other_user.id})
|
{:ok, activity} = CommonAPI.report(user, %{"account_id" => other_user.id})
|
||||||
|
|
||||||
expected = %{
|
expected = %{
|
||||||
content: "",
|
content: nil,
|
||||||
actor: AccountView.render("account.json", %{user: user}),
|
actor: AccountView.render("account.json", %{user: user}),
|
||||||
account: AccountView.render("account.json", %{user: other_user}),
|
account: AccountView.render("account.json", %{user: other_user}),
|
||||||
statuses: [],
|
statuses: [],
|
||||||
|
@ -41,7 +41,7 @@ test "includes reported statuses" do
|
||||||
CommonAPI.report(user, %{"account_id" => other_user.id, "status_ids" => [activity.id]})
|
CommonAPI.report(user, %{"account_id" => other_user.id, "status_ids" => [activity.id]})
|
||||||
|
|
||||||
expected = %{
|
expected = %{
|
||||||
content: "",
|
content: nil,
|
||||||
actor: AccountView.render("account.json", %{user: user}),
|
actor: AccountView.render("account.json", %{user: user}),
|
||||||
account: AccountView.render("account.json", %{user: other_user}),
|
account: AccountView.render("account.json", %{user: other_user}),
|
||||||
statuses: [StatusView.render("status.json", %{activity: activity})],
|
statuses: [StatusView.render("status.json", %{activity: activity})],
|
||||||
|
@ -92,7 +92,7 @@ test "sanitizes report description" do
|
||||||
data = Map.put(activity.data, "content", "<script> alert('hecked :D:D:D:D:D:D:D') </script>")
|
data = Map.put(activity.data, "content", "<script> alert('hecked :D:D:D:D:D:D:D') </script>")
|
||||||
activity = Map.put(activity, :data, data)
|
activity = Map.put(activity, :data, data)
|
||||||
|
|
||||||
refute %{content: "<script> alert('hecked :D:D:D:D:D:D:D') </script>"} ==
|
refute "<script> alert('hecked :D:D:D:D:D:D:D') </script>" ==
|
||||||
ReportView.render("show.json", %{report: activity})[:content]
|
ReportView.render("show.json", %{report: activity})[:content]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue