Commit 4aa285e6 authored by kaniini's avatar kaniini
Browse files

Merge branch 'add-screenname-extension-to-masto-api' into 'develop'

MastoAPI Accounts: Add fetching by nickname.

See merge request pleroma/pleroma!922
parents f9a96390 3474066f
Pipeline #8885 passed with stages
in 4 minutes and 37 seconds
......@@ -19,3 +19,7 @@ Adding the parameter `with_muted=true` to the timeline queries will also return
Has these additional fields under the `pleroma` object:
- `local`: true if the post was made on the local instance.
## Accounts
- `/api/v1/accounts/:id`: The `id` parameter can also be the `nickname` of the user. This only works in this endpoint, not the deeper nested ones for following etc.
......@@ -131,8 +131,8 @@ def verify_credentials(%{assigns: %{user: user}} = conn, _) do
json(conn, account)
def user(%{assigns: %{user: for_user}} = conn, %{"id" => id}) do
with %User{} = user <- Repo.get(User, id),
def user(%{assigns: %{user: for_user}} = conn, %{"id" => nickname_or_id}) do
with %User{} = user <- User.get_cached_by_nickname_or_id(nickname_or_id),
true <- User.auth_active?(user) || == || User.superuser?(for_user) do
account = AccountView.render("account.json", %{user: user, for: for_user})
json(conn, account)
......@@ -1064,6 +1064,17 @@ test "account fetching", %{conn: conn} do
assert %{"error" => "Can't find user"} = json_response(conn, 404)
test "account fetching also works nickname", %{conn: conn} do
user = insert(:user)
conn =
|> get("/api/v1/accounts/#{user.nickname}")
assert %{"id" => id} = json_response(conn, 200)
assert id ==
test "media upload", %{conn: conn} do
file = %Plug.Upload{
content_type: "image/jpg",
......@@ -1950,7 +1961,7 @@ test "submit a report with statuses and comment", %{
|> json_response(200)
test "accound_id is required", %{
test "account_id is required", %{
conn: conn,
reporter: reporter,
activity: activity
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment