aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/api_spec
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-08-31 19:56:05 -0500
committerAlex Gleason <alex@alexgleason.me>2020-09-11 14:09:58 -0500
commitb40a627ab02f9f63eac42ce6fc65282fc6cb6b92 (patch)
tree6bbd2751cb92d2c87b5b9be07b76b891631d95f2 /lib/pleroma/web/api_spec
parentf88dc1937e5aa4208143fa68400a5c38a1b9eddf (diff)
downloadpleroma-b40a627ab02f9f63eac42ce6fc65282fc6cb6b92.tar.gz
AdminAPI: delete a chat message
Diffstat (limited to 'lib/pleroma/web/api_spec')
-rw-r--r--lib/pleroma/web/api_spec/operations/admin/chat_operation.ex44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex
new file mode 100644
index 000000000..7045fd7ce
--- /dev/null
+++ b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex
@@ -0,0 +1,44 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.ApiSpec.Admin.ChatOperation do
+ alias OpenApiSpex.Operation
+ alias Pleroma.Web.ApiSpec.Schemas.ApiError
+ alias Pleroma.Web.ApiSpec.Schemas.FlakeID
+
+ import Pleroma.Web.ApiSpec.Helpers
+
+ def open_api_operation(action) do
+ operation = String.to_existing_atom("#{action}_operation")
+ apply(__MODULE__, operation, [])
+ end
+
+ def delete_message_operation do
+ %Operation{
+ tags: ["Admin", "Chats"],
+ summary: "Delete an individual chat message",
+ operationId: "AdminAPI.ChatController.delete",
+ parameters: [id_param(), message_id_param()] ++ admin_api_params(),
+ security: [%{"oAuth" => ["write:chats"]}],
+ responses: %{
+ 200 => empty_object_response(),
+ 404 => Operation.response("Not Found", "application/json", ApiError)
+ }
+ }
+ end
+
+ def id_param do
+ Operation.parameter(:id, :path, FlakeID, "Chat ID",
+ example: "9umDrYheeY451cQnEe",
+ required: true
+ )
+ end
+
+ def message_id_param do
+ Operation.parameter(:message_id, :path, FlakeID, "Chat message ID",
+ example: "9umDrYheeY451cQnEe",
+ required: true
+ )
+ end
+end