Merge pull request 'Stop exposing if a user blocks you over the API.' (#553) from XxXCertifiedForkliftDriverXxX/akkoma:feature/hide-blocked_by into develop

Reviewed-on: AkkomaGang/akkoma#553
This commit is contained in:
floatingghost 2023-05-28 22:02:33 +00:00
commit fb8081e1a3
4 changed files with 23 additions and 12 deletions

View file

@ -767,7 +767,7 @@ defp array_of_relationships do
"showing_reblogs" => true,
"followed_by" => true,
"blocking" => false,
"blocked_by" => true,
"blocked_by" => false,
"muting" => false,
"muting_notifications" => false,
"note" => "",
@ -783,7 +783,7 @@ defp array_of_relationships do
"showing_reblogs" => true,
"followed_by" => true,
"blocking" => false,
"blocked_by" => true,
"blocked_by" => false,
"muting" => true,
"muting_notifications" => false,
"note" => "",

View file

@ -13,7 +13,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.AccountRelationship do
description: "Relationship between current account and requested account",
type: :object,
properties: %{
blocked_by: %Schema{type: :boolean},
blocked_by: %Schema{
type: :boolean,
description: "Represents being blocked by this user. Always false."
},
blocking: %Schema{type: :boolean},
domain_blocking: %Schema{type: :boolean},
endorsed: %Schema{type: :boolean},

View file

@ -124,14 +124,7 @@ def render(
target,
&User.blocks_user?(&1, &2)
),
blocked_by:
UserRelationship.exists?(
user_relationships,
:block,
target,
reading_user,
&User.blocks_user?(&1, &2)
),
blocked_by: false,
muting:
UserRelationship.exists?(
user_relationships,

View file

@ -397,7 +397,22 @@ test "represent a relationship for the blocking and blocked user" do
expected =
Map.merge(
@blank_response,
%{following: false, blocking: true, blocked_by: true, id: to_string(other_user.id)}
%{following: false, blocking: true, blocked_by: false, id: to_string(other_user.id)}
)
test_relationship_rendering(user, other_user, expected)
end
test "blocks are not visible to the blocked user" do
user = insert(:user)
other_user = insert(:user)
{:ok, _user_relationship} = User.block(other_user, user)
expected =
Map.merge(
@blank_response,
%{following: false, blocking: false, blocked_by: false, id: to_string(other_user.id)}
)
test_relationship_rendering(user, other_user, expected)