Add specs for AccountController.mute and AccountController.unmute
[akkoma] / lib / pleroma / web / api_spec / schemas / account_update_credentials_request.ex
index a50bce5edc4a72e11652c3dea49c12eff65f08b4..35220c78a3d7450ab597f6efb30545c81f150139 100644 (file)
@@ -5,6 +5,8 @@
 defmodule Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest do
   alias OpenApiSpex.Schema
   alias Pleroma.Web.ApiSpec.Schemas.AccountAttributeField
+  alias Pleroma.Web.ApiSpec.Schemas.ActorType
+  alias Pleroma.Web.ApiSpec.Schemas.VisibilityScope
   require OpenApiSpex
 
   OpenApiSpex.schema(%{
@@ -36,7 +38,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest do
         description: "Whether manual approval of follow requests is required."
       },
       fields_attributes: %Schema{
-        oneOf: [%Schema{type: :array, items: AccountAttributeField}, %Schema{type: :object}]
+        oneOf: [
+          %Schema{type: :array, items: AccountAttributeField},
+          %Schema{type: :object, additionalProperties: %Schema{type: AccountAttributeField}}
+        ]
       },
       # NOTE: `source` field is not supported
       #
@@ -73,10 +78,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest do
         description: "user's role (e.g admin, moderator) will be exposed to anyone in the
       API"
       },
-      default_scope: %Schema{
-        type: :string,
-        description: "The scope returned under privacy key in Source subentity"
-      },
+      default_scope: VisibilityScope,
       pleroma_settings_store: %Schema{
         type: :object,
         description: "Opaque user settings to be saved on the backend."
@@ -98,7 +100,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.AccountUpdateCredentialsRequest do
         type: :boolean,
         description: "Discovery of this account in search results and other services is allowed."
       },
-      actor_type: %Schema{type: :string, description: "the type of this account."}
+      actor_type: ActorType
     },
     example: %{
       bot: false,