Fix users lookup/return type
* Allow viewing user in frontend by id on pageload
This commit is contained in:
parent
595ca3bb3a
commit
fa0c2727d8
|
@ -15,6 +15,8 @@ def user(conn, %{"nickname" => nickname}) do
|
|||
conn
|
||||
|> put_resp_header("content-type", "application/activity+json")
|
||||
|> json(UserView.render("user.json", %{user: user}))
|
||||
else
|
||||
nil -> {:error, :not_found}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -12,19 +12,24 @@ defmodule Pleroma.Web.OStatus.OStatusController do
|
|||
action_fallback(:errors)
|
||||
|
||||
def feed_redirect(conn, %{"nickname" => nickname}) do
|
||||
with {_, %User{} = user} <- {:user, User.get_cached_by_nickname(nickname)} do
|
||||
case get_format(conn) do
|
||||
"html" -> Fallback.RedirectController.redirector(conn, nil)
|
||||
"activity+json" -> ActivityPubController.call(conn, :user)
|
||||
_ -> redirect(conn, external: OStatus.feed_path(user))
|
||||
end
|
||||
"html" ->
|
||||
Fallback.RedirectController.redirector(conn, nil)
|
||||
|
||||
"activity+json" ->
|
||||
ActivityPubController.call(conn, :user)
|
||||
|
||||
_ ->
|
||||
with %User{} = user <- User.get_cached_by_nickname(nickname) do
|
||||
redirect(conn, external: OStatus.feed_path(user))
|
||||
else
|
||||
{:user, nil} -> {:error, :not_found}
|
||||
nil -> {:error, :not_found}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def feed(conn, %{"nickname" => nickname} = params) do
|
||||
with {_, %User{} = user} <- {:user, User.get_cached_by_nickname(nickname)} do
|
||||
with %User{} = user <- User.get_cached_by_nickname(nickname) do
|
||||
query_params =
|
||||
Map.take(params, ["max_id"])
|
||||
|> Map.merge(%{"whole_db" => true, "actor_id" => user.ap_id})
|
||||
|
@ -43,7 +48,7 @@ def feed(conn, %{"nickname" => nickname} = params) do
|
|||
|> put_resp_content_type("application/atom+xml")
|
||||
|> send_resp(200, response)
|
||||
else
|
||||
{:user, nil} -> {:error, :not_found}
|
||||
nil -> {:error, :not_found}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue