Merge remote-tracking branch 'pleroma/develop' into dont-crash-email-settings
[akkoma] / lib / pleroma / web / mastodon_api / controllers / fallback_controller.ex
index 0a257f60490ae5945e66f28799de76bd8fb1fc27..84621500ee33bcca95bcd217382db016d635f30b 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.MastodonAPI.FallbackController do
@@ -20,12 +20,22 @@ defmodule Pleroma.Web.MastodonAPI.FallbackController do
     render_error(conn, :not_found, "Record not found")
   end
 
+  def call(conn, {:error, :forbidden}) do
+    render_error(conn, :forbidden, "Access denied")
+  end
+
   def call(conn, {:error, error_message}) do
     conn
     |> put_status(:bad_request)
     |> json(%{error: error_message})
   end
 
+  def call(conn, {:error, status, message}) do
+    conn
+    |> put_status(status)
+    |> json(%{error: message})
+  end
+
   def call(conn, _) do
     conn
     |> put_status(:internal_server_error)