Fix `rights` in TwitterAPI's user entity being present only for

Admins/Moderators

In !1093 I reused `maybe_with_role` for `rights` object, however I
missed that `maybe_with_role` is called only for admins/moderators.
This commit is contained in:
rinpatch 2019-04-28 19:42:43 +03:00
parent 002ea343f8
commit 61ca2f7a4e
2 changed files with 13 additions and 10 deletions

View File

@ -116,12 +116,7 @@ defp do_render("user.json", %{user: user = %User{}} = assigns) do
|> maybe_with_activation_status(user, for_user) |> maybe_with_activation_status(user, for_user)
} }
|> maybe_with_user_settings(user, for_user) |> maybe_with_user_settings(user, for_user)
|> maybe_with_role(user, for_user)
data =
if(user.info.is_admin || user.info.is_moderator,
do: maybe_with_role(data, user, for_user),
else: data
)
if assigns[:token] do if assigns[:token] do
Map.put(data, "token", token_string(assigns[:token])) Map.put(data, "token", token_string(assigns[:token]))

View File

@ -100,7 +100,9 @@ test "A user" do
"pleroma" => %{ "pleroma" => %{
"confirmation_pending" => false, "confirmation_pending" => false,
"tags" => [] "tags" => []
} },
"rights" => %{"admin" => false, "delete_others_notice" => false},
"role" => "member"
} }
assert represented == UserView.render("show.json", %{user: user}) assert represented == UserView.render("show.json", %{user: user})
@ -151,7 +153,9 @@ test "A user for a given other follower", %{user: user} do
"pleroma" => %{ "pleroma" => %{
"confirmation_pending" => false, "confirmation_pending" => false,
"tags" => [] "tags" => []
} },
"rights" => %{"admin" => false, "delete_others_notice" => false},
"role" => "member"
} }
assert represented == UserView.render("show.json", %{user: user, for: follower}) assert represented == UserView.render("show.json", %{user: user, for: follower})
@ -194,7 +198,9 @@ test "A user that follows you", %{user: user} do
"pleroma" => %{ "pleroma" => %{
"confirmation_pending" => false, "confirmation_pending" => false,
"tags" => [] "tags" => []
} },
"rights" => %{"admin" => false, "delete_others_notice" => false},
"role" => "member"
} }
assert represented == UserView.render("show.json", %{user: follower, for: user}) assert represented == UserView.render("show.json", %{user: follower, for: user})
@ -274,7 +280,9 @@ test "A blocked user for the blocker" do
"pleroma" => %{ "pleroma" => %{
"confirmation_pending" => false, "confirmation_pending" => false,
"tags" => [] "tags" => []
} },
"rights" => %{"admin" => false, "delete_others_notice" => false},
"role" => "member"
} }
blocker = User.get_cached_by_id(blocker.id) blocker = User.get_cached_by_id(blocker.id)