diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/admin_api/controllers/tag_controller.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/api_spec/operations/admin/tag_operation.ex | 58 |
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"]}] } |