summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/rule.ex2
-rw-r--r--lib/pleroma/web/admin_api/views/report_view.ex10
-rw-r--r--lib/pleroma/web/admin_api/views/rule_view.ex2
-rw-r--r--lib/pleroma/web/api_spec/operations/admin/report_operation.ex2
-rw-r--r--lib/pleroma/web/api_spec/operations/admin/rule_operation.ex5
-rw-r--r--lib/pleroma/web/api_spec/operations/instance_operation.ex2
-rw-r--r--lib/pleroma/web/api_spec/operations/report_operation.ex4
-rw-r--r--lib/pleroma/web/common_api.ex3
-rw-r--r--lib/pleroma/web/mastodon_api/views/instance_view.ex2
9 files changed, 17 insertions, 15 deletions
diff --git a/lib/pleroma/rule.ex b/lib/pleroma/rule.ex
index b1db1dc0c..611e945b3 100644
--- a/lib/pleroma/rule.ex
+++ b/lib/pleroma/rule.ex
@@ -37,6 +37,8 @@ defmodule Pleroma.Rule do
def get(id), do: Repo.get(__MODULE__, id)
+ def exists?(id), do: not is_nil(get(id))
+
def create(params) do
{:ok, rule} =
%Rule{}
diff --git a/lib/pleroma/web/admin_api/views/report_view.ex b/lib/pleroma/web/admin_api/views/report_view.ex
index ca70f4359..b4b0be267 100644
--- a/lib/pleroma/web/admin_api/views/report_view.ex
+++ b/lib/pleroma/web/admin_api/views/report_view.ex
@@ -10,8 +10,8 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
alias Pleroma.User
alias Pleroma.Web.AdminAPI
alias Pleroma.Web.AdminAPI.Report
+ alias Pleroma.Web.AdminAPI.RuleView
alias Pleroma.Web.CommonAPI.Utils
- alias Pleroma.Web.MastodonAPI.InstanceView
alias Pleroma.Web.MastodonAPI.StatusView
defdelegate merge_account_views(user), to: AdminAPI.AccountView
@@ -80,8 +80,10 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
end
defp rules(rule_ids) do
- rule_ids
- |> Rule.get()
- |> render_many(InstanceView, "rule.json", as: :rule)
+ rules =
+ rule_ids
+ |> Rule.get()
+
+ render(RuleView, "index.json", rules: rules)
end
end
diff --git a/lib/pleroma/web/admin_api/views/rule_view.ex b/lib/pleroma/web/admin_api/views/rule_view.ex
index f29145248..abfdd593f 100644
--- a/lib/pleroma/web/admin_api/views/rule_view.ex
+++ b/lib/pleroma/web/admin_api/views/rule_view.ex
@@ -13,7 +13,7 @@ defmodule Pleroma.Web.AdminAPI.RuleView do
def render("show.json", %{rule: rule} = _opts) do
%{
- id: rule.id,
+ id: to_string(rule.id),
priority: rule.priority,
text: rule.text
}
diff --git a/lib/pleroma/web/api_spec/operations/admin/report_operation.ex b/lib/pleroma/web/api_spec/operations/admin/report_operation.ex
index bb71abbd1..b90bbd592 100644
--- a/lib/pleroma/web/api_spec/operations/admin/report_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/admin/report_operation.ex
@@ -175,7 +175,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.ReportOperation do
items: %Schema{
type: :object,
properties: %{
- id: %Schema{type: :integer},
+ id: %Schema{type: :string},
text: %Schema{type: :string}
}
}
diff --git a/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex b/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex
index ed0d9eaf6..2360880e4 100644
--- a/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/admin/rule_operation.ex
@@ -103,10 +103,9 @@ defmodule Pleroma.Web.ApiSpec.Admin.RuleOperation do
%Schema{
type: :object,
properties: %{
- id: %Schema{type: :integer},
+ id: %Schema{type: :string},
priority: %Schema{type: :integer},
- text: %Schema{type: :string},
- created_at: %Schema{type: :string, format: :"date-time"}
+ text: %Schema{type: :string}
}
}
end
diff --git a/lib/pleroma/web/api_spec/operations/instance_operation.ex b/lib/pleroma/web/api_spec/operations/instance_operation.ex
index e66e5b7a3..f3dba108e 100644
--- a/lib/pleroma/web/api_spec/operations/instance_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/instance_operation.ex
@@ -191,7 +191,7 @@ defmodule Pleroma.Web.ApiSpec.InstanceOperation do
items: %Schema{
type: :object,
properties: %{
- id: %Schema{type: :integer},
+ id: %Schema{type: :string},
text: %Schema{type: :string}
}
}
diff --git a/lib/pleroma/web/api_spec/operations/report_operation.ex b/lib/pleroma/web/api_spec/operations/report_operation.ex
index fd68f67a2..f5f88974c 100644
--- a/lib/pleroma/web/api_spec/operations/report_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/report_operation.ex
@@ -57,7 +57,7 @@ defmodule Pleroma.Web.ApiSpec.ReportOperation do
rule_ids: %Schema{
type: :array,
nullable: true,
- items: %Schema{type: :number},
+ items: %Schema{type: :string},
description: "Array of rules"
}
},
@@ -67,7 +67,7 @@ defmodule Pleroma.Web.ApiSpec.ReportOperation do
"status_ids" => ["1337"],
"comment" => "bad status!",
"forward" => "false",
- "rule_ids" => [3]
+ "rule_ids" => ["3"]
}
}
end
diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex
index 9f8d4def4..6fd744ddc 100644
--- a/lib/pleroma/web/common_api.ex
+++ b/lib/pleroma/web/common_api.ex
@@ -533,8 +533,7 @@ defmodule Pleroma.Web.CommonAPI do
defp get_report_rules(rule_ids) do
rule_ids
- |> Rule.get()
- |> Enum.map(& &1.id)
+ |> Enum.filter(&Rule.exists?/1)
end
def update_report_state(activity_ids, state) when is_list(activity_ids) do
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
index 8379731e4..c7f5ff554 100644
--- a/lib/pleroma/web/mastodon_api/views/instance_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -66,7 +66,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
def render("rule.json", %{rule: rule}) do
%{
- id: rule.id,
+ id: to_string(rule.id),
text: rule.text
}
end