commit: 384f8bfa786f51f3abec101e2ab78917f324a4fa
parent 432599311d3aab8829ed2cc7f795a1662e7a8f82
Author: marcin mikołajczak <git@mkljczk.pl>
Date: Mon, 7 Feb 2022 23:41:41 +0100
Instance rules: Use render_many
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
Diffstat:
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/lib/pleroma/web/admin_api/controllers/rule_controller.ex b/lib/pleroma/web/admin_api/controllers/rule_controller.ex
@@ -14,8 +14,6 @@ defmodule Pleroma.Web.AdminAPI.RuleController do
json_response: 3
]
- require Logger
-
plug(Pleroma.Web.ApiSpec.CastAndValidate)
plug(
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -40,7 +40,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
background_image: Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
shout_limit: Config.get([:shout, :limit]),
description_limit: Keyword.get(instance, :description_limit),
- rules: rules(),
+ rules: render(__MODULE__, "rules.json"),
pleroma: %{
metadata: %{
account_activation_required: Keyword.get(instance, :account_activation_required),
@@ -59,7 +59,16 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
end
def render("rules.json", _) do
- rules()
+ Pleroma.Rule.query()
+ |> Pleroma.Repo.all()
+ |> render_many(__MODULE__, "rule.json", as: :rule)
+ end
+
+ def render("rule.json", %{rule: rule}) do
+ %{
+ id: rule.id,
+ text: rule.text
+ }
end
def features do
@@ -142,10 +151,4 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
value_length: Config.get([:instance, :account_field_value_length])
}
end
-
- def rules do
- Pleroma.Rule.query()
- |> Pleroma.Repo.all()
- |> Enum.map(&%{id: &1.id, text: &1.text})
- end
end