AdminAPI: Return approval_pending
with users
This commit is contained in:
parent
a1570ba6ad
commit
b750129da1
3 changed files with 42 additions and 3 deletions
|
@ -47,6 +47,8 @@ Configuration options:
|
||||||
"tags": array,
|
"tags": array,
|
||||||
"avatar": string,
|
"avatar": string,
|
||||||
"display_name": string,
|
"display_name": string,
|
||||||
|
"confirmation_pending": bool,
|
||||||
|
"approval_pending": bool,
|
||||||
"registration_reason": string,
|
"registration_reason": string,
|
||||||
},
|
},
|
||||||
...
|
...
|
||||||
|
|
|
@ -77,6 +77,7 @@ def render("show.json", %{user: user}) do
|
||||||
"roles" => User.roles(user),
|
"roles" => User.roles(user),
|
||||||
"tags" => user.tags || [],
|
"tags" => user.tags || [],
|
||||||
"confirmation_pending" => user.confirmation_pending,
|
"confirmation_pending" => user.confirmation_pending,
|
||||||
|
"approval_pending" => user.approval_pending,
|
||||||
"url" => user.uri || user.ap_id,
|
"url" => user.uri || user.ap_id,
|
||||||
"registration_reason" => user.registration_reason
|
"registration_reason" => user.registration_reason
|
||||||
}
|
}
|
||||||
|
|
|
@ -338,6 +338,7 @@ test "Show", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -602,8 +603,8 @@ test "/api/pleroma/admin/users/:nickname/password_reset", %{conn: conn} do
|
||||||
|
|
||||||
describe "GET /api/pleroma/admin/users" do
|
describe "GET /api/pleroma/admin/users" do
|
||||||
test "renders users array for the first page", %{conn: conn, admin: admin} do
|
test "renders users array for the first page", %{conn: conn, admin: admin} do
|
||||||
user =
|
user = insert(:user, local: false, tags: ["foo", "bar"])
|
||||||
insert(:user, local: false, tags: ["foo", "bar"], registration_reason: "I'm a chill dude")
|
user2 = insert(:user, approval_pending: true, registration_reason: "I'm a chill dude")
|
||||||
|
|
||||||
conn = get(conn, "/api/pleroma/admin/users?page=1")
|
conn = get(conn, "/api/pleroma/admin/users?page=1")
|
||||||
|
|
||||||
|
@ -619,6 +620,7 @@ test "renders users array for the first page", %{conn: conn, admin: admin} do
|
||||||
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => admin.ap_id,
|
"url" => admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
},
|
},
|
||||||
|
@ -632,14 +634,29 @@ test "renders users array for the first page", %{conn: conn, admin: admin} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
|
"registration_reason" => nil
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
"deactivated" => user2.deactivated,
|
||||||
|
"id" => user2.id,
|
||||||
|
"nickname" => user2.nickname,
|
||||||
|
"roles" => %{"admin" => false, "moderator" => false},
|
||||||
|
"local" => true,
|
||||||
|
"tags" => [],
|
||||||
|
"avatar" => User.avatar_url(user2) |> MediaProxy.url(),
|
||||||
|
"display_name" => HTML.strip_tags(user2.name || user2.nickname),
|
||||||
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => true,
|
||||||
|
"url" => user2.ap_id,
|
||||||
"registration_reason" => "I'm a chill dude"
|
"registration_reason" => "I'm a chill dude"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|> Enum.sort_by(& &1["nickname"])
|
|> Enum.sort_by(& &1["nickname"])
|
||||||
|
|
||||||
assert json_response(conn, 200) == %{
|
assert json_response(conn, 200) == %{
|
||||||
"count" => 2,
|
"count" => 3,
|
||||||
"page_size" => 50,
|
"page_size" => 50,
|
||||||
"users" => users
|
"users" => users
|
||||||
}
|
}
|
||||||
|
@ -706,6 +723,7 @@ test "regular search", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -733,6 +751,7 @@ test "search by domain", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -760,6 +779,7 @@ test "search by full nickname", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -787,6 +807,7 @@ test "search by display name", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -814,6 +835,7 @@ test "search by email", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -841,6 +863,7 @@ test "regular search with page size", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -863,6 +886,7 @@ test "regular search with page size", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user2) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user2) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user2.name || user2.nickname),
|
"display_name" => HTML.strip_tags(user2.name || user2.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user2.ap_id,
|
"url" => user2.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -897,6 +921,7 @@ test "only local users" do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -924,6 +949,7 @@ test "only local users with no query", %{conn: conn, admin: old_admin} do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
},
|
},
|
||||||
|
@ -937,6 +963,7 @@ test "only local users with no query", %{conn: conn, admin: old_admin} do
|
||||||
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => admin.ap_id,
|
"url" => admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
},
|
},
|
||||||
|
@ -950,6 +977,7 @@ test "only local users with no query", %{conn: conn, admin: old_admin} do
|
||||||
"avatar" => User.avatar_url(old_admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(old_admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(old_admin.name || old_admin.nickname),
|
"display_name" => HTML.strip_tags(old_admin.name || old_admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => old_admin.ap_id,
|
"url" => old_admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -982,6 +1010,7 @@ test "load only admins", %{conn: conn, admin: admin} do
|
||||||
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => admin.ap_id,
|
"url" => admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
},
|
},
|
||||||
|
@ -995,6 +1024,7 @@ test "load only admins", %{conn: conn, admin: admin} do
|
||||||
"avatar" => User.avatar_url(second_admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(second_admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(second_admin.name || second_admin.nickname),
|
"display_name" => HTML.strip_tags(second_admin.name || second_admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => second_admin.ap_id,
|
"url" => second_admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -1029,6 +1059,7 @@ test "load only moderators", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(moderator) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(moderator) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(moderator.name || moderator.nickname),
|
"display_name" => HTML.strip_tags(moderator.name || moderator.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => moderator.ap_id,
|
"url" => moderator.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -1056,6 +1087,7 @@ test "load users with tags list", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user1) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user1) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user1.name || user1.nickname),
|
"display_name" => HTML.strip_tags(user1.name || user1.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user1.ap_id,
|
"url" => user1.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
},
|
},
|
||||||
|
@ -1069,6 +1101,7 @@ test "load users with tags list", %{conn: conn} do
|
||||||
"avatar" => User.avatar_url(user2) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user2) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user2.name || user2.nickname),
|
"display_name" => HTML.strip_tags(user2.name || user2.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user2.ap_id,
|
"url" => user2.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -1110,6 +1143,7 @@ test "it works with multiple filters" do
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -1136,6 +1170,7 @@ test "it omits relay user", %{admin: admin, conn: conn} do
|
||||||
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(admin) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
"display_name" => HTML.strip_tags(admin.name || admin.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => admin.ap_id,
|
"url" => admin.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
@ -1200,6 +1235,7 @@ test "PATCH /api/pleroma/admin/users/:nickname/toggle_activation", %{admin: admi
|
||||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||||
"confirmation_pending" => false,
|
"confirmation_pending" => false,
|
||||||
|
"approval_pending" => false,
|
||||||
"url" => user.ap_id,
|
"url" => user.ap_id,
|
||||||
"registration_reason" => nil
|
"registration_reason" => nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue