Chat: Allow posting without content if an attachment is present.
[akkoma] / lib / pleroma / web / api_spec / schemas / chat_message.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessage do
6 alias OpenApiSpex.Schema
7
8 require OpenApiSpex
9
10 OpenApiSpex.schema(%{
11 title: "ChatMessage",
12 description: "Response schema for a ChatMessage",
13 nullable: true,
14 type: :object,
15 properties: %{
16 id: %Schema{type: :string},
17 account_id: %Schema{type: :string, description: "The Mastodon API id of the actor"},
18 chat_id: %Schema{type: :string},
19 content: %Schema{type: :string, nullable: true},
20 created_at: %Schema{type: :string, format: :"date-time"},
21 emojis: %Schema{type: :array},
22 attachment: %Schema{type: :object, nullable: true}
23 },
24 example: %{
25 "account_id" => "someflakeid",
26 "chat_id" => "1",
27 "content" => "hey you again",
28 "created_at" => "2020-04-21T15:06:45.000Z",
29 "emojis" => [
30 %{
31 "static_url" => "https://dontbulling.me/emoji/Firefox.gif",
32 "visible_in_picker" => false,
33 "shortcode" => "firefox",
34 "url" => "https://dontbulling.me/emoji/Firefox.gif"
35 }
36 ],
37 "id" => "14",
38 "attachment" => nil
39 }
40 })
41 end