Web.TwitterAPI.UserView: Add rights.admin

This commit is contained in:
Haelwenn (lanodan) Monnier 2018-12-23 18:31:37 +01:00
parent e1de866f95
commit b43d630f30
No known key found for this signature in database
GPG key ID: D5B7A8E43C997DEE
3 changed files with 19 additions and 6 deletions

View file

@ -966,7 +966,8 @@ def index(%{assigns: %{user: user}} = conn, _params) do
max_toot_chars: limit
},
rights: %{
delete_others_notice: !!user.info.is_moderator
delete_others_notice: !!user.info.is_moderator,
admin: !!user.info.is_admin
},
compose: %{
me: "#{user.id}",

View file

@ -70,7 +70,8 @@ def render("user.json", %{user: user = %User{}} = assigns) do
"profile_image_url_profile_size" => image,
"profile_image_url_original" => image,
"rights" => %{
"delete_others_notice" => !!user.info.is_moderator
"delete_others_notice" => !!user.info.is_moderator,
"admin" => !!user.info.is_admin
},
"screen_name" => user.nickname,
"statuses_count" => user_info[:note_count],

View file

@ -90,7 +90,8 @@ test "A user" do
"follows_you" => false,
"statusnet_blocking" => false,
"rights" => %{
"delete_others_notice" => false
"delete_others_notice" => false,
"admin" => false
},
"statusnet_profile_url" => user.ap_id,
"cover_photo" => banner,
@ -135,7 +136,8 @@ test "A user for a given other follower", %{user: user} do
"follows_you" => false,
"statusnet_blocking" => false,
"rights" => %{
"delete_others_notice" => false
"delete_others_notice" => false,
"admin" => false
},
"statusnet_profile_url" => user.ap_id,
"cover_photo" => banner,
@ -181,7 +183,8 @@ test "A user that follows you", %{user: user} do
"follows_you" => true,
"statusnet_blocking" => false,
"rights" => %{
"delete_others_notice" => false
"delete_others_notice" => false,
"admin" => false
},
"statusnet_profile_url" => follower.ap_id,
"cover_photo" => banner,
@ -207,6 +210,13 @@ test "a user that is a moderator" do
assert represented["rights"]["delete_others_notice"]
end
test "a user that is a admin" do
user = insert(:user, %{info: %{is_admin: true}})
represented = UserView.render("show.json", %{user: user, for: user})
assert represented["rights"]["admin"]
end
test "A blocked user for the blocker" do
user = insert(:user)
blocker = insert(:user)
@ -234,7 +244,8 @@ test "A blocked user for the blocker" do
"follows_you" => false,
"statusnet_blocking" => true,
"rights" => %{
"delete_others_notice" => false
"delete_others_notice" => false,
"admin" => false
},
"statusnet_profile_url" => user.ap_id,
"cover_photo" => banner,