Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
[akkoma] / lib / pleroma / web / api_spec / schemas / account.ex
index 3634a7c766af12a4abf00af7e8d962560606bc30..d54e2158d7ac2618ede9c0905feadc91d76d9a20 100644 (file)
@@ -4,9 +4,11 @@
 
 defmodule Pleroma.Web.ApiSpec.Schemas.Account do
   alias OpenApiSpex.Schema
-  alias Pleroma.Web.ApiSpec.Schemas.AccountEmoji
   alias Pleroma.Web.ApiSpec.Schemas.AccountField
+  alias Pleroma.Web.ApiSpec.Schemas.AccountRelationship
   alias Pleroma.Web.ApiSpec.Schemas.ActorType
+  alias Pleroma.Web.ApiSpec.Schemas.Emoji
+  alias Pleroma.Web.ApiSpec.Schemas.FlakeID
   alias Pleroma.Web.ApiSpec.Schemas.VisibilityScope
 
   require OpenApiSpex
@@ -22,14 +24,14 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
       bot: %Schema{type: :boolean},
       created_at: %Schema{type: :string, format: "date-time"},
       display_name: %Schema{type: :string},
-      emojis: %Schema{type: :array, items: AccountEmoji},
+      emojis: %Schema{type: :array, items: Emoji},
       fields: %Schema{type: :array, items: AccountField},
       follow_requests_count: %Schema{type: :integer},
       followers_count: %Schema{type: :integer},
       following_count: %Schema{type: :integer},
       header_static: %Schema{type: :string, format: :uri},
       header: %Schema{type: :string, format: :uri},
-      id: %Schema{type: :string},
+      id: FlakeID,
       locked: %Schema{type: :boolean},
       note: %Schema{type: :string, format: :html},
       statuses_count: %Schema{type: :integer},
@@ -39,7 +41,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
         type: :object,
         properties: %{
           allow_following_move: %Schema{type: :boolean},
-          background_image: %Schema{type: :boolean, nullable: true},
+          background_image: %Schema{type: :string, nullable: true},
           chat_token: %Schema{type: :string},
           confirmation_pending: %Schema{type: :boolean},
           hide_favorites: %Schema{type: :boolean},
@@ -62,23 +64,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do
               privacy_option: %Schema{type: :boolean}
             }
           },
-          relationship: %Schema{
-            type: :object,
-            properties: %{
-              blocked_by: %Schema{type: :boolean},
-              blocking: %Schema{type: :boolean},
-              domain_blocking: %Schema{type: :boolean},
-              endorsed: %Schema{type: :boolean},
-              followed_by: %Schema{type: :boolean},
-              following: %Schema{type: :boolean},
-              id: %Schema{type: :string},
-              muting: %Schema{type: :boolean},
-              muting_notifications: %Schema{type: :boolean},
-              requested: %Schema{type: :boolean},
-              showing_reblogs: %Schema{type: :boolean},
-              subscribing: %Schema{type: :boolean}
-            }
-          },
+          relationship: AccountRelationship,
           settings_store: %Schema{
             type: :object
           }