Merge pull request '2022.09 stable' (#208) from develop into stable
[akkoma] / lib / pleroma / web / mastodon_api / controllers / app_controller.ex
index d2a35dce21c73827a78a9096f08f3c1caa795767..499ccf056d0470e8b39eb561e857c0b92d48374d 100644 (file)
@@ -17,8 +17,6 @@ defmodule Pleroma.Web.MastodonAPI.AppController do
   alias Pleroma.Web.OAuth.Scopes
   alias Pleroma.Web.OAuth.Token
 
-  require Logger
-
   action_fallback(Pleroma.Web.MastodonAPI.FallbackController)
 
   plug(:skip_auth when action in [:create, :verify_credentials])
@@ -30,15 +28,9 @@ defmodule Pleroma.Web.MastodonAPI.AppController do
   defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.AppOperation
 
   @doc "POST /api/v1/apps"
-  def create(%{assigns: %{user: user}, body_params: params} = conn, _params) do
+  def create(%{body_params: params} = conn, _params) do
     scopes = Scopes.fetch_scopes(params, ["read"])
-
-    user_id =
-      with %User{id: id} <- user do
-        id
-      else
-        _ -> nil
-      end
+    user_id = get_user_id(conn)
 
     app_attrs =
       params
@@ -53,6 +45,9 @@ defmodule Pleroma.Web.MastodonAPI.AppController do
     end
   end
 
+  defp get_user_id(%{assigns: %{user: %User{id: user_id}}}), do: user_id
+  defp get_user_id(_conn), do: nil
+
   @doc """
   GET /api/v1/apps/verify_credentials
   Gets compact non-secret representation of the app. Supports app tokens and user tokens.