ChatOperation: Refactor.

This commit is contained in:
lain 2020-04-29 13:34:43 +02:00
parent 0c491b904d
commit 67659afe48

View file

@ -5,11 +5,12 @@
defmodule Pleroma.Web.ApiSpec.ChatOperation do
alias OpenApiSpex.Operation
alias OpenApiSpex.Schema
alias Pleroma.Web.ApiSpec.Helpers
alias Pleroma.Web.ApiSpec.Schemas.ChatMessageCreateRequest
alias Pleroma.Web.ApiSpec.Schemas.ChatMessageResponse
alias Pleroma.Web.ApiSpec.Schemas.ChatResponse
import Pleroma.Web.ApiSpec.Helpers
@spec open_api_operation(atom) :: Operation.t()
def open_api_operation(action) do
operation = String.to_existing_atom("#{action}_operation")
@ -52,11 +53,7 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
tags: ["chat"],
summary: "Get a list of chats that you participated in",
operationId: "ChatController.index",
parameters: [
Operation.parameter(:limit, :query, :integer, "How many results to return", example: 20),
Operation.parameter(:min_id, :query, :string, "Return only chats after this id"),
Operation.parameter(:max_id, :query, :string, "Return only chats before this id")
],
parameters: pagination_params(),
responses: %{
200 => Operation.response("The chats of the user", "application/json", chats_response())
},
@ -73,12 +70,9 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
tags: ["chat"],
summary: "Get the most recent messages of the chat",
operationId: "ChatController.messages",
parameters: [
Operation.parameter(:id, :path, :string, "The ID of the Chat"),
Operation.parameter(:limit, :query, :integer, "How many results to return", example: 20),
Operation.parameter(:min_id, :query, :string, "Return only messages after this id"),
Operation.parameter(:max_id, :query, :string, "Return only messages before this id")
],
parameters:
[Operation.parameter(:id, :path, :string, "The ID of the Chat")] ++
pagination_params(),
responses: %{
200 =>
Operation.response(
@ -103,7 +97,7 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
parameters: [
Operation.parameter(:id, :path, :string, "The ID of the Chat")
],
requestBody: Helpers.request_body("Parameters", ChatMessageCreateRequest, required: true),
requestBody: request_body("Parameters", ChatMessageCreateRequest, required: true),
responses: %{
200 =>
Operation.response(