aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/admin_api/controllers/tag_controller.ex7
-rw-r--r--lib/pleroma/web/api_spec/operations/admin/tag_operation.ex58
2 files changed, 35 insertions, 30 deletions
diff --git a/lib/pleroma/web/admin_api/controllers/tag_controller.ex b/lib/pleroma/web/admin_api/controllers/tag_controller.ex
index ee48efbd7..2cf6ff9bb 100644
--- a/lib/pleroma/web/admin_api/controllers/tag_controller.ex
+++ b/lib/pleroma/web/admin_api/controllers/tag_controller.ex
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.AdminAPI.TagController do
json(conn, tags)
end
- def tag(%{assigns: %{user: admin}} = conn, %{nicknames: nicknames, tags: tags}) do
+ def tag(%{assigns: %{user: admin}, body_params: %{nicknames: nicknames, tags: tags}} = conn, _) do
with {:ok, _} <- User.tag(nicknames, tags) do
ModerationLog.insert_log(%{
actor: admin,
@@ -48,7 +48,10 @@ defmodule Pleroma.Web.AdminAPI.TagController do
end
end
- def untag(%{assigns: %{user: admin}} = conn, %{nicknames: nicknames, tags: tags}) do
+ def untag(
+ %{assigns: %{user: admin}, body_params: %{nicknames: nicknames, tags: tags}} = conn,
+ _
+ ) do
with {:ok, _} <- User.untag(nicknames, tags) do
ModerationLog.insert_log(%{
actor: admin,
diff --git a/lib/pleroma/web/api_spec/operations/admin/tag_operation.ex b/lib/pleroma/web/api_spec/operations/admin/tag_operation.ex
index 83a6b5c26..8bee51fe2 100644
--- a/lib/pleroma/web/api_spec/operations/admin/tag_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/admin/tag_operation.ex
@@ -5,6 +5,7 @@
defmodule Pleroma.Web.ApiSpec.Admin.TagOperation do
alias OpenApiSpex.Operation
alias OpenApiSpex.Schema
+ alias Pleroma.Web.ApiSpec.Schemas.ApiError
import Pleroma.Web.ApiSpec.Helpers
@@ -18,6 +19,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.TagOperation do
tags: ["Admin", "Tags"],
summary: "List available tags.",
operationId: "AdminAPI.TagController.list",
+ parameters: admin_api_params(),
responses: %{
200 =>
Operation.response("Array of tags", "application/json", %Schema{
@@ -34,22 +36,22 @@ defmodule Pleroma.Web.ApiSpec.Admin.TagOperation do
tags: ["Admin", "Tags"],
summary: "Adds tags to users.",
operationId: "AdminAPI.TagController.tag",
- parameters: [
- Operation.parameter(
- :nicknames,
- :query,
- %Schema{type: :array, items: %Schema{type: :string}},
- "User's nicknames"
+ parameters: admin_api_params(),
+ requestBody:
+ request_body(
+ "Parameters",
+ %Schema{
+ type: :object,
+ properties: %{
+ nicknames: %Schema{type: :array, items: %Schema{type: :string}},
+ tags: %Schema{type: :array, items: %Schema{type: :string}}
+ }
+ },
+ required: true
),
- Operation.parameter(
- :tags,
- :query,
- %Schema{type: :array, items: %Schema{type: :string}},
- "tags"
- )
- ],
responses: %{
- 200 => empty_object_response()
+ 204 => no_content_response(),
+ 400 => Operation.response("Bad request", "application/json", ApiError)
},
security: [%{"oAuth" => ["write:accounts"]}]
}
@@ -60,22 +62,22 @@ defmodule Pleroma.Web.ApiSpec.Admin.TagOperation do
tags: ["Admin", "Tags"],
summary: "Remove tags from users.",
operationId: "AdminAPI.TagController.untag",
- parameters: [
- Operation.parameter(
- :nicknames,
- :query,
- %Schema{type: :array, items: %Schema{type: :string}},
- "User's nicknames"
+ parameters: admin_api_params(),
+ requestBody:
+ request_body(
+ "Parameters",
+ %Schema{
+ type: :object,
+ properties: %{
+ nicknames: %Schema{type: :array, items: %Schema{type: :string}},
+ tags: %Schema{type: :array, items: %Schema{type: :string}}
+ }
+ },
+ required: true
),
- Operation.parameter(
- :tags,
- :query,
- %Schema{type: :array, items: %Schema{type: :string}},
- "tags"
- )
- ],
responses: %{
- 200 => empty_object_response()
+ 204 => no_content_response(),
+ 400 => Operation.response("Bad request", "application/json", ApiError)
},
security: [%{"oAuth" => ["write:accounts"]}]
}