mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-11-22 14:45:16 +00:00
Include requested_by in relationship (#260)
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk> Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/260
This commit is contained in:
parent
53fbe26c80
commit
cc6a076202
|
@ -94,12 +94,12 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
|
|||
|
||||
followed_by =
|
||||
if following_relationships do
|
||||
case FollowingRelationship.find(following_relationships, target, reading_user) do
|
||||
%{state: :follow_accept} -> true
|
||||
_ -> false
|
||||
end
|
||||
target_to_user_following_relation =
|
||||
FollowingRelationship.find(following_relationships, target, reading_user)
|
||||
|
||||
User.get_follow_state(target, reading_user, target_to_user_following_relation)
|
||||
else
|
||||
User.following?(target, reading_user)
|
||||
User.get_follow_state(target, reading_user)
|
||||
end
|
||||
|
||||
subscribing =
|
||||
|
@ -115,7 +115,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
|
|||
%{
|
||||
id: to_string(target.id),
|
||||
following: follow_state == :follow_accept,
|
||||
followed_by: followed_by,
|
||||
followed_by: followed_by == :follow_accept,
|
||||
blocking:
|
||||
UserRelationship.exists?(
|
||||
user_relationships,
|
||||
|
@ -151,6 +151,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
|
|||
subscribing: subscribing,
|
||||
notifying: subscribing,
|
||||
requested: follow_state == :follow_pending,
|
||||
requested_by: followed_by == :follow_pending,
|
||||
domain_blocking: User.blocks_domain?(reading_user, target),
|
||||
showing_reblogs:
|
||||
not UserRelationship.exists?(
|
||||
|
|
|
@ -347,6 +347,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||
subscribing: false,
|
||||
notifying: false,
|
||||
requested: false,
|
||||
requested_by: false,
|
||||
domain_blocking: false,
|
||||
showing_reblogs: true,
|
||||
endorsed: false,
|
||||
|
@ -432,6 +433,24 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||
end
|
||||
end
|
||||
|
||||
test "represent a relationship for a user with an inbound pending follow request" do
|
||||
follower = insert(:user)
|
||||
followed = insert(:user, is_locked: true)
|
||||
|
||||
{:ok, follower, followed, _} = CommonAPI.follow(follower, followed)
|
||||
|
||||
follower = User.get_cached_by_id(follower.id)
|
||||
followed = User.get_cached_by_id(followed.id)
|
||||
|
||||
expected =
|
||||
Map.merge(
|
||||
@blank_response,
|
||||
%{requested_by: true, followed_by: false, id: to_string(follower.id)}
|
||||
)
|
||||
|
||||
test_relationship_rendering(followed, follower, expected)
|
||||
end
|
||||
|
||||
test "returns the settings store if the requesting user is the represented user and it's requested specifically" do
|
||||
user = insert(:user, pleroma_settings_store: %{fe: "test"})
|
||||
|
||||
|
|
Loading…
Reference in a new issue