Merge branch 'guppe-example' into 'develop'
[akkoma] / lib / pleroma / web / pleroma_api / controllers / account_controller.ex
index 03e5781a31532d4ab2da7a8e176dbc915a073e89..30cf835678ca592fe8d04bd723a80fbcff26ebec 100644 (file)
@@ -8,15 +8,20 @@ defmodule Pleroma.Web.PleromaAPI.AccountController do
   import Pleroma.Web.ControllerHelper,
     only: [json_response: 3, add_link_headers: 2, assign_account_by_id: 2]
 
-  alias Pleroma.Plugs.EnsurePublicOrAuthenticatedPlug
-  alias Pleroma.Plugs.OAuthScopesPlug
-  alias Pleroma.Plugs.RateLimiter
   alias Pleroma.User
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.MastodonAPI.StatusView
+  alias Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug
+  alias Pleroma.Web.Plugs.OAuthScopesPlug
+  alias Pleroma.Web.Plugs.RateLimiter
 
   require Pleroma.Constants
 
+  plug(
+    Majic.Plug,
+    [pool: Pleroma.MajicPool] when action in [:update_avatar, :update_background, :update_banner]
+  )
+
   plug(
     OpenApiSpex.Plug.PutApiSpec,
     [module: Pleroma.Web.ApiSpec] when action == :confirmation_resend
@@ -39,11 +44,6 @@ defmodule Pleroma.Web.PleromaAPI.AccountController do
     %{scopes: ["read:favourites"], fallback: :proceed_unauthenticated} when action == :favourites
   )
 
-  plug(
-    OAuthScopesPlug,
-    %{scopes: ["write:accounts"]} when action in [:add_aliases, :delete_aliases]
-  )
-
   plug(RateLimiter, [name: :account_confirmation_resend] when action == :confirmation_resend)
 
   plug(:assign_account_by_id when action in [:favourites, :subscribe, :unsubscribe])
@@ -112,24 +112,4 @@ defmodule Pleroma.Web.PleromaAPI.AccountController do
       {:error, message} -> json_response(conn, :forbidden, %{error: message})
     end
   end
-
-  @doc "POST /api/v1/pleroma/accounts/ap_aliases"
-  def add_aliases(%{assigns: %{user: user}, body_params: %{aliases: aliases}} = conn, _params)
-      when is_list(aliases) do
-    with {:ok, user} <- User.add_aliases(user, aliases) do
-      render(conn, "show.json", user: user)
-    else
-      {:error, message} -> json_response(conn, :forbidden, %{error: message})
-    end
-  end
-
-  @doc "DELETE /api/v1/pleroma/accounts/ap_aliases"
-  def delete_aliases(%{assigns: %{user: user}, body_params: %{aliases: aliases}} = conn, _params)
-      when is_list(aliases) do
-    with {:ok, user} <- User.delete_aliases(user, aliases) do
-      render(conn, "show.json", user: user)
-    else
-      {:error, message} -> json_response(conn, :forbidden, %{error: message})
-    end
-  end
 end