Pleroma/lib/pleroma/web/api_spec/schemas/scheduled_status.ex

57 lines
1.9 KiB
Elixir
Raw Normal View History

2020-05-05 21:19:16 +02:00
# Pleroma: A lightweight social networking server
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
2020-05-05 21:19:16 +02:00
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.ApiSpec.Schemas.ScheduledStatus do
alias OpenApiSpex.Schema
alias Pleroma.Web.ApiSpec.Schemas.Attachment
alias Pleroma.Web.ApiSpec.Schemas.VisibilityScope
2021-02-01 16:22:26 +01:00
alias Pleroma.Web.ApiSpec.StatusOperation
2020-05-05 21:19:16 +02:00
require OpenApiSpex
OpenApiSpex.schema(%{
title: "ScheduledStatus",
description: "Represents a status that will be published at a future scheduled date.",
type: :object,
required: [:id, :scheduled_at, :params],
properties: %{
id: %Schema{type: :string},
scheduled_at: %Schema{type: :string, format: :"date-time"},
media_attachments: %Schema{type: :array, items: Attachment},
2020-05-05 21:19:16 +02:00
params: %Schema{
type: :object,
required: [:text, :visibility],
properties: %{
text: %Schema{type: :string, nullable: true},
media_ids: %Schema{type: :array, nullable: true, items: %Schema{type: :string}},
sensitive: %Schema{type: :boolean, nullable: true},
spoiler_text: %Schema{type: :string, nullable: true},
visibility: %Schema{allOf: [VisibilityScope], nullable: true},
2020-05-05 21:19:16 +02:00
scheduled_at: %Schema{type: :string, format: :"date-time", nullable: true},
2021-02-01 16:22:26 +01:00
poll: StatusOperation.poll_params(),
2021-02-11 11:01:48 +01:00
in_reply_to_id: %Schema{type: :string, nullable: true},
expires_in: %Schema{type: :integer, nullable: true}
2020-05-05 21:19:16 +02:00
}
}
},
example: %{
id: "3221",
scheduled_at: "2019-12-05T12:33:01.000Z",
params: %{
text: "test content",
media_ids: nil,
sensitive: nil,
spoiler_text: nil,
visibility: nil,
scheduled_at: nil,
poll: nil,
idempotency: nil,
2021-02-11 11:01:48 +01:00
in_reply_to_id: nil,
expires_in: nil
2020-05-05 21:19:16 +02:00
},
media_attachments: [Attachment.schema().example]
2020-05-05 21:19:16 +02:00
}
})
end