forked from AkkomaGang/akkoma
Allow with_relationships param for blocks
This commit is contained in:
parent
8fb235e71b
commit
79a18f761b
3 changed files with 40 additions and 2 deletions
|
@ -410,7 +410,7 @@ def blocks_operation do
|
||||||
operationId: "AccountController.blocks",
|
operationId: "AccountController.blocks",
|
||||||
description: "View your blocks. See also accounts/:id/{block,unblock}",
|
description: "View your blocks. See also accounts/:id/{block,unblock}",
|
||||||
security: [%{"oAuth" => ["read:blocks"]}],
|
security: [%{"oAuth" => ["read:blocks"]}],
|
||||||
parameters: pagination_params(),
|
parameters: [with_relationships_param() | pagination_params()],
|
||||||
responses: %{
|
responses: %{
|
||||||
200 => Operation.response("Accounts", "application/json", array_of_accounts())
|
200 => Operation.response("Accounts", "application/json", array_of_accounts())
|
||||||
}
|
}
|
||||||
|
|
|
@ -518,7 +518,12 @@ def blocks(%{assigns: %{user: user}} = conn, params) do
|
||||||
|
|
||||||
conn
|
conn
|
||||||
|> add_link_headers(users)
|
|> add_link_headers(users)
|
||||||
|> render("index.json", users: users, for: user, as: :user)
|
|> render("index.json",
|
||||||
|
users: users,
|
||||||
|
for: user,
|
||||||
|
as: :user,
|
||||||
|
embed_relationships: embed_relationships?(params)
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc "GET /api/v1/accounts/lookup"
|
@doc "GET /api/v1/accounts/lookup"
|
||||||
|
|
|
@ -1895,6 +1895,39 @@ test "getting a list of blocks" do
|
||||||
assert [%{"id" => ^id2}] = result
|
assert [%{"id" => ^id2}] = result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "list of blocks with with_relationships parameter" do
|
||||||
|
%{user: user, conn: conn} = oauth_access(["read:blocks"])
|
||||||
|
%{id: id1} = other_user1 = insert(:user)
|
||||||
|
%{id: id2} = other_user2 = insert(:user)
|
||||||
|
%{id: id3} = other_user3 = insert(:user)
|
||||||
|
|
||||||
|
{:ok, _, _} = User.follow(other_user1, user)
|
||||||
|
{:ok, _, _} = User.follow(other_user2, user)
|
||||||
|
{:ok, _, _} = User.follow(other_user3, user)
|
||||||
|
|
||||||
|
{:ok, _} = User.block(user, other_user1)
|
||||||
|
{:ok, _} = User.block(user, other_user2)
|
||||||
|
{:ok, _} = User.block(user, other_user3)
|
||||||
|
|
||||||
|
assert [
|
||||||
|
%{
|
||||||
|
"id" => ^id1,
|
||||||
|
"pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}}
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
"id" => ^id2,
|
||||||
|
"pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}}
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
"id" => ^id3,
|
||||||
|
"pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}}
|
||||||
|
}
|
||||||
|
] =
|
||||||
|
conn
|
||||||
|
|> get("/api/v1/blocks?with_relationships=true")
|
||||||
|
|> json_response_and_validate_schema(200)
|
||||||
|
end
|
||||||
|
|
||||||
test "account lookup", %{conn: conn} do
|
test "account lookup", %{conn: conn} do
|
||||||
%{nickname: acct} = insert(:user, %{nickname: "nickname"})
|
%{nickname: acct} = insert(:user, %{nickname: "nickname"})
|
||||||
%{nickname: acct_two} = insert(:user, %{nickname: "nickname@notlocaldoma.in"})
|
%{nickname: acct_two} = insert(:user, %{nickname: "nickname@notlocaldoma.in"})
|
||||||
|
|
Loading…
Reference in a new issue