router: redirect known users to /users/foo when no other routes match

This commit is contained in:
William Pitcock 2018-12-20 10:58:43 +00:00
parent 8de3138de0
commit aba333241b
1 changed files with 18 additions and 1 deletions

View File

@ -456,13 +456,30 @@ end
defmodule Fallback.RedirectController do
use Pleroma.Web, :controller
alias Pleroma.User
def redirector(conn, _params) do
defp send_spa_html(conn) do
conn
|> put_resp_content_type("text/html")
|> send_file(200, Pleroma.Plugs.InstanceStatic.file_path("index.html"))
end
defp redirect_for_user(conn, %User{local: true, nickname: nickname}) do
conn
|> redirect(to: "/users/#{nickname}")
end
defp redirect_for_user(conn, _), do: send_spa_html(conn)
def redirector(conn, params) do
path = params["path"] || []
[possible_username | _] = path
u = User.get_by_nickname(possible_username)
redirect_for_user(conn, u)
end
def registration_page(conn, params) do
redirector(conn, params)
end