+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Web.OAuth.FallbackController do
- use Pleroma.Web, :controller
- alias Pleroma.Web.OAuth.OAuthController
+ use Pleroma.Web, :controller
+ alias Pleroma.Web.OAuth.OAuthController
- # No user
- def call(conn, nil) do
- conn
- |> put_flash(:error, "Invalid Username/Password")
- |> OAuthController.authorize(conn.params)
- end
+ def call(conn, {:register, :generic_error}) do
+ conn
+ |> put_status(:internal_server_error)
+ |> put_flash(:error, "Unknown error, please check the details and try again.")
+ |> OAuthController.registration_details(conn.params)
+ end
- # No password
- def call(conn, false) do
- conn
- |> put_flash(:error, "Invalid Username/Password")
- |> OAuthController.authorize(conn.params)
- end
+ def call(conn, {:register, _error}) do
+ conn
+ |> put_status(:unauthorized)
+ |> put_flash(:error, "Invalid Username/Password")
+ |> OAuthController.registration_details(conn.params)
+ end
-end
\ No newline at end of file
+ def call(conn, _error) do
+ conn
+ |> put_status(:unauthorized)
+ |> put_flash(:error, "Invalid Username/Password")
+ |> OAuthController.authorize(conn.params["authorization"])
+ end
+end