Merge branch 'deprecate-public_endpoint' into 'develop'
[akkoma] / lib / pleroma / web / admin_api / controllers / fallback_controller.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.AdminAPI.FallbackController do
6 use Pleroma.Web, :controller
7
8 def call(conn, {:error, :not_found}) do
9 conn
10 |> put_status(:not_found)
11 |> json(%{error: dgettext("errors", "Not found")})
12 end
13
14 def call(conn, {:error, reason}) do
15 conn
16 |> put_status(:bad_request)
17 |> json(%{error: reason})
18 end
19
20 def call(conn, {:errors, errors}) do
21 conn
22 |> put_status(:bad_request)
23 |> json(%{errors: errors})
24 end
25
26 def call(conn, {:param_cast, _}) do
27 conn
28 |> put_status(:bad_request)
29 |> json(dgettext("errors", "Invalid parameters"))
30 end
31
32 def call(conn, _) do
33 conn
34 |> put_status(:internal_server_error)
35 |> json(%{error: dgettext("errors", "Something went wrong")})
36 end
37 end