Chat Schemas: Inline unimportant Schemas.
authorlain <lain@soykaf.club>
Mon, 27 Apr 2020 10:45:59 +0000 (12:45 +0200)
committerlain <lain@soykaf.club>
Mon, 27 Apr 2020 10:45:59 +0000 (12:45 +0200)
lib/pleroma/web/api_spec/operations/chat_operation.ex
lib/pleroma/web/api_spec/schemas/chat_messages_response.ex [deleted file]
lib/pleroma/web/api_spec/schemas/chats_response.ex [deleted file]

index dc99bd773b0f34a8cc1d315d1dd333270cd9b8cc..6f55cbd59dff93e498f4345ef5dafdf730820580 100644 (file)
@@ -7,9 +7,8 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
   alias Pleroma.Web.ApiSpec.Helpers
   alias Pleroma.Web.ApiSpec.Schemas.ChatMessageCreateRequest
   alias Pleroma.Web.ApiSpec.Schemas.ChatMessageResponse
-  alias Pleroma.Web.ApiSpec.Schemas.ChatMessagesResponse
   alias Pleroma.Web.ApiSpec.Schemas.ChatResponse
-  alias Pleroma.Web.ApiSpec.Schemas.ChatsResponse
+  alias OpenApiSpex.Schema
 
   @spec open_api_operation(atom) :: Operation.t()
   def open_api_operation(action) do
@@ -34,7 +33,11 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
       ],
       responses: %{
         200 =>
-          Operation.response("The created or existing chat", "application/json", ChatResponse)
+          Operation.response(
+            "The created or existing chat",
+            "application/json",
+            ChatResponse
+          )
       },
       security: [
         %{
@@ -55,7 +58,7 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
         Operation.parameter(:max_id, :query, :string, "Return only chats before this id")
       ],
       responses: %{
-        200 => Operation.response("The chats of the user", "application/json", ChatsResponse)
+        200 => Operation.response("The chats of the user", "application/json", chats_response())
       },
       security: [
         %{
@@ -78,7 +81,11 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
       ],
       responses: %{
         200 =>
-          Operation.response("The messages in the chat", "application/json", ChatMessagesResponse)
+          Operation.response(
+            "The messages in the chat",
+            "application/json",
+            chat_messages_response()
+          )
       },
       security: [
         %{
@@ -112,4 +119,100 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
       ]
     }
   end
+
+  def chats_response() do
+    %Schema{
+      title: "ChatsResponse",
+      description: "Response schema for multiple Chats",
+      type: :array,
+      items: ChatResponse,
+      example: [
+        %{
+          "recipient" => "https://dontbulling.me/users/lain",
+          "recipient_account" => %{
+            "pleroma" => %{
+              "is_admin" => false,
+              "confirmation_pending" => false,
+              "hide_followers_count" => false,
+              "is_moderator" => false,
+              "hide_favorites" => true,
+              "ap_id" => "https://dontbulling.me/users/lain",
+              "hide_follows_count" => false,
+              "hide_follows" => false,
+              "background_image" => nil,
+              "skip_thread_containment" => false,
+              "hide_followers" => false,
+              "relationship" => %{},
+              "tags" => []
+            },
+            "avatar" =>
+              "https://dontbulling.me/media/065a4dd3c6740dab13ff9c71ec7d240bb9f8be9205c9e7467fb2202117da1e32.jpg",
+            "following_count" => 0,
+            "header_static" => "https://originalpatchou.li/images/banner.png",
+            "source" => %{
+              "sensitive" => false,
+              "note" => "lain",
+              "pleroma" => %{
+                "discoverable" => false,
+                "actor_type" => "Person"
+              },
+              "fields" => []
+            },
+            "statuses_count" => 1,
+            "locked" => false,
+            "created_at" => "2020-04-16T13:40:15.000Z",
+            "display_name" => "lain",
+            "fields" => [],
+            "acct" => "lain@dontbulling.me",
+            "id" => "9u6Qw6TAZANpqokMkK",
+            "emojis" => [],
+            "avatar_static" =>
+              "https://dontbulling.me/media/065a4dd3c6740dab13ff9c71ec7d240bb9f8be9205c9e7467fb2202117da1e32.jpg",
+            "username" => "lain",
+            "followers_count" => 0,
+            "header" => "https://originalpatchou.li/images/banner.png",
+            "bot" => false,
+            "note" => "lain",
+            "url" => "https://dontbulling.me/users/lain"
+          },
+          "id" => "1",
+          "unread" => 2
+        }
+      ]
+    }
+  end
+
+  def chat_messages_response() do
+    %Schema{
+      title: "ChatMessagesResponse",
+      description: "Response schema for multiple ChatMessages",
+      type: :array,
+      items: ChatMessageResponse,
+      example: [
+        %{
+          "emojis" => [
+            %{
+              "static_url" => "https://dontbulling.me/emoji/Firefox.gif",
+              "visible_in_picker" => false,
+              "shortcode" => "firefox",
+              "url" => "https://dontbulling.me/emoji/Firefox.gif"
+            }
+          ],
+          "created_at" => "2020-04-21T15:11:46.000Z",
+          "content" => "Check this out :firefox:",
+          "id" => "13",
+          "chat_id" => "1",
+          "actor" => "https://dontbulling.me/users/lain"
+        },
+        %{
+          "actor" => "https://dontbulling.me/users/lain",
+          "content" => "Whats' up?",
+          "id" => "12",
+          "chat_id" => "1",
+          "emojis" => [],
+          "created_at" => "2020-04-21T15:06:45.000Z"
+        }
+      ]
+    }
+  end
 end
diff --git a/lib/pleroma/web/api_spec/schemas/chat_messages_response.ex b/lib/pleroma/web/api_spec/schemas/chat_messages_response.ex
deleted file mode 100644 (file)
index 302bdec..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessagesResponse do
-  alias Pleroma.Web.ApiSpec.Schemas.ChatMessageResponse
-
-  require OpenApiSpex
-
-  OpenApiSpex.schema(%{
-    title: "ChatMessagesResponse",
-    description: "Response schema for multiple ChatMessages",
-    type: :array,
-    items: ChatMessageResponse,
-    example: [
-      %{
-        "emojis" => [
-          %{
-            "static_url" => "https://dontbulling.me/emoji/Firefox.gif",
-            "visible_in_picker" => false,
-            "shortcode" => "firefox",
-            "url" => "https://dontbulling.me/emoji/Firefox.gif"
-          }
-        ],
-        "created_at" => "2020-04-21T15:11:46.000Z",
-        "content" => "Check this out :firefox:",
-        "id" => "13",
-        "chat_id" => "1",
-        "actor" => "https://dontbulling.me/users/lain"
-      },
-      %{
-        "actor" => "https://dontbulling.me/users/lain",
-        "content" => "Whats' up?",
-        "id" => "12",
-        "chat_id" => "1",
-        "emojis" => [],
-        "created_at" => "2020-04-21T15:06:45.000Z"
-      }
-    ]
-  })
-end
diff --git a/lib/pleroma/web/api_spec/schemas/chats_response.ex b/lib/pleroma/web/api_spec/schemas/chats_response.ex
deleted file mode 100644 (file)
index 3349e06..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.ApiSpec.Schemas.ChatsResponse do
-  alias Pleroma.Web.ApiSpec.Schemas.ChatResponse
-
-  require OpenApiSpex
-
-  OpenApiSpex.schema(%{
-    title: "ChatsResponse",
-    description: "Response schema for multiple Chats",
-    type: :array,
-    items: ChatResponse,
-    example: [
-      %{
-        "recipient" => "https://dontbulling.me/users/lain",
-        "recipient_account" => %{
-          "pleroma" => %{
-            "is_admin" => false,
-            "confirmation_pending" => false,
-            "hide_followers_count" => false,
-            "is_moderator" => false,
-            "hide_favorites" => true,
-            "ap_id" => "https://dontbulling.me/users/lain",
-            "hide_follows_count" => false,
-            "hide_follows" => false,
-            "background_image" => nil,
-            "skip_thread_containment" => false,
-            "hide_followers" => false,
-            "relationship" => %{},
-            "tags" => []
-          },
-          "avatar" =>
-            "https://dontbulling.me/media/065a4dd3c6740dab13ff9c71ec7d240bb9f8be9205c9e7467fb2202117da1e32.jpg",
-          "following_count" => 0,
-          "header_static" => "https://originalpatchou.li/images/banner.png",
-          "source" => %{
-            "sensitive" => false,
-            "note" => "lain",
-            "pleroma" => %{
-              "discoverable" => false,
-              "actor_type" => "Person"
-            },
-            "fields" => []
-          },
-          "statuses_count" => 1,
-          "locked" => false,
-          "created_at" => "2020-04-16T13:40:15.000Z",
-          "display_name" => "lain",
-          "fields" => [],
-          "acct" => "lain@dontbulling.me",
-          "id" => "9u6Qw6TAZANpqokMkK",
-          "emojis" => [],
-          "avatar_static" =>
-            "https://dontbulling.me/media/065a4dd3c6740dab13ff9c71ec7d240bb9f8be9205c9e7467fb2202117da1e32.jpg",
-          "username" => "lain",
-          "followers_count" => 0,
-          "header" => "https://originalpatchou.li/images/banner.png",
-          "bot" => false,
-          "note" => "lain",
-          "url" => "https://dontbulling.me/users/lain"
-        },
-        "id" => "1",
-        "unread" => 2
-      }
-    ]
-  })
-end