Merge branch 'feature/add-roles-to-users-admin-api' into 'develop'

Add "roles" to users admin API

See merge request pleroma/pleroma!928
This commit is contained in:
kaniini 2019-03-12 19:50:51 +00:00
commit d0e94d5f1b
3 changed files with 30 additions and 10 deletions

View File

@ -6,6 +6,8 @@ defmodule Pleroma.User.Info do
use Ecto.Schema
import Ecto.Changeset
alias Pleroma.User.Info
embedded_schema do
field(:banner, :map, default: %{})
field(:background, :map, default: %{})
@ -250,4 +252,11 @@ defmodule Pleroma.User.Info do
cast(info, params, [:pinned_activities])
end
def roles(%Info{is_moderator: is_moderator, is_admin: is_admin}) do
%{
admin: is_admin,
moderator: is_moderator
}
end
end

View File

@ -6,6 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.Admin.AccountView do
use Pleroma.Web, :view
alias Pleroma.Web.MastodonAPI.Admin.AccountView
alias Pleroma.User.Info
def render("index.json", %{users: users, count: count, page_size: page_size}) do
%{
@ -19,7 +20,8 @@ defmodule Pleroma.Web.MastodonAPI.Admin.AccountView do
%{
"id" => user.id,
"nickname" => user.nickname,
"deactivated" => user.info.deactivated
"deactivated" => user.info.deactivated,
"roles" => Info.roles(user.info)
}
end
end

View File

@ -348,12 +348,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => admin.info.deactivated,
"id" => admin.id,
"nickname" => admin.nickname
"nickname" => admin.nickname,
"roles" => %{"admin" => true, "moderator" => false}
},
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -391,7 +393,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -414,7 +417,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -431,7 +435,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => user2.info.deactivated,
"id" => user2.id,
"nickname" => user2.nickname
"nickname" => user2.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -455,7 +460,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -479,12 +485,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => admin.info.deactivated,
"id" => admin.id,
"nickname" => admin.nickname
"nickname" => admin.nickname,
"roles" => %{"admin" => true, "moderator" => false}
},
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
]
}
@ -504,7 +512,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"deactivated" => !user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname
"nickname" => user.nickname,
"roles" => %{"admin" => false, "moderator" => false}
}
end
end