aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/api_spec
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-05-13 15:31:28 +0200
committerlain <lain@soykaf.club>2020-05-13 15:31:28 +0200
commit0f0acc740d30c47d093f27875d4decf0693b2845 (patch)
tree0cdc813d983f535898c515d4a87a503bb7d3acd1 /lib/pleroma/web/api_spec
parent06cad239e50cada3aec4fc3b4c494a70d328672c (diff)
downloadpleroma-0f0acc740d30c47d093f27875d4decf0693b2845.tar.gz
Chat: Allow posting without content if an attachment is present.
Diffstat (limited to 'lib/pleroma/web/api_spec')
-rw-r--r--lib/pleroma/web/api_spec/operations/chat_operation.ex12
-rw-r--r--lib/pleroma/web/api_spec/schemas/chat_message.ex2
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/pleroma/web/api_spec/operations/chat_operation.ex b/lib/pleroma/web/api_spec/operations/chat_operation.ex
index 8ba10c603..a1c5db5dc 100644
--- a/lib/pleroma/web/api_spec/operations/chat_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/chat_operation.ex
@@ -5,6 +5,7 @@
defmodule Pleroma.Web.ApiSpec.ChatOperation do
alias OpenApiSpex.Operation
alias OpenApiSpex.Schema
+ alias Pleroma.Web.ApiSpec.Schemas.ApiError
alias Pleroma.Web.ApiSpec.Schemas.Chat
alias Pleroma.Web.ApiSpec.Schemas.ChatMessage
@@ -149,14 +150,15 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
parameters: [
Operation.parameter(:id, :path, :string, "The ID of the Chat")
],
- requestBody: request_body("Parameters", chat_message_create(), required: true),
+ requestBody: request_body("Parameters", chat_message_create()),
responses: %{
200 =>
Operation.response(
"The newly created ChatMessage",
"application/json",
ChatMessage
- )
+ ),
+ 400 => Operation.response("Bad Request", "application/json", ApiError)
},
security: [
%{
@@ -292,10 +294,12 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
description: "POST body for creating an chat message",
type: :object,
properties: %{
- content: %Schema{type: :string, description: "The content of your message"},
+ content: %Schema{
+ type: :string,
+ description: "The content of your message. Optional if media_id is present"
+ },
media_id: %Schema{type: :string, description: "The id of an upload"}
},
- required: [:content],
example: %{
"content" => "Hey wanna buy feet pics?",
"media_id" => "134234"
diff --git a/lib/pleroma/web/api_spec/schemas/chat_message.ex b/lib/pleroma/web/api_spec/schemas/chat_message.ex
index 6e8f1a10a..3ee85aa76 100644
--- a/lib/pleroma/web/api_spec/schemas/chat_message.ex
+++ b/lib/pleroma/web/api_spec/schemas/chat_message.ex
@@ -16,7 +16,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessage do
id: %Schema{type: :string},
account_id: %Schema{type: :string, description: "The Mastodon API id of the actor"},
chat_id: %Schema{type: :string},
- content: %Schema{type: :string},
+ content: %Schema{type: :string, nullable: true},
created_at: %Schema{type: :string, format: :"date-time"},
emojis: %Schema{type: :array},
attachment: %Schema{type: :object, nullable: true}