chat_message.ex (2679B)
- # Pleroma: A lightweight social networking server
- # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
- # SPDX-License-Identifier: AGPL-3.0-only
- defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessage do
- alias OpenApiSpex.Schema
- alias Pleroma.Web.ApiSpec.Schemas.Emoji
- require OpenApiSpex
- OpenApiSpex.schema(%{
- title: "ChatMessage",
- description: "Response schema for a ChatMessage",
- nullable: true,
- type: :object,
- properties: %{
- 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, nullable: true},
- created_at: %Schema{type: :string, format: :"date-time"},
- emojis: %Schema{type: :array, items: Emoji},
- attachment: %Schema{type: :object, nullable: true},
- card: %Schema{
- type: :object,
- nullable: true,
- description: "Preview card for links included within status content",
- required: [:url, :title, :description, :type],
- properties: %{
- type: %Schema{
- type: :string,
- enum: ["link", "photo", "video", "rich"],
- description: "The type of the preview card"
- },
- provider_name: %Schema{
- type: :string,
- nullable: true,
- description: "The provider of the original resource"
- },
- provider_url: %Schema{
- type: :string,
- format: :uri,
- description: "A link to the provider of the original resource"
- },
- url: %Schema{type: :string, format: :uri, description: "Location of linked resource"},
- image: %Schema{
- type: :string,
- nullable: true,
- format: :uri,
- description: "Preview thumbnail"
- },
- title: %Schema{type: :string, description: "Title of linked resource"},
- description: %Schema{type: :string, description: "Description of preview"}
- }
- },
- unread: %Schema{type: :boolean, description: "Whether a message has been marked as read."}
- },
- example: %{
- "account_id" => "someflakeid",
- "chat_id" => "1",
- "content" => "hey you again",
- "created_at" => "2020-04-21T15:06:45.000Z",
- "card" => nil,
- "emojis" => [
- %{
- "static_url" => "https://dontbulling.me/emoji/Firefox.gif",
- "visible_in_picker" => false,
- "shortcode" => "firefox",
- "url" => "https://dontbulling.me/emoji/Firefox.gif"
- }
- ],
- "id" => "14",
- "attachment" => nil,
- "unread" => false
- }
- })
- end