diff options
author | kaniini <nenolod@gmail.com> | 2018-09-03 15:00:56 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-09-03 15:00:56 +0000 |
commit | 8143251f06b1a781ee20924c89be484e514f0bec (patch) | |
tree | 5df0e23a10b29ee0dd31887919b8858253800296 /lib | |
parent | 1c9e539b47ff594d75c9548a04e64cb0c61cff8c (diff) | |
parent | 76c67a41c12a80138e984fa782d7396da53b8d32 (diff) | |
download | pleroma-8143251f06b1a781ee20924c89be484e514f0bec.tar.gz |
Merge branch 'feature/staff-discovery-api' into 'develop'
staff discovery api
See merge request pleroma/pleroma!326
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 8 | ||||
-rw-r--r-- | lib/pleroma/web/nodeinfo/nodeinfo_controller.ex | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 64c69b209..1dad30e87 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -609,6 +609,14 @@ defmodule Pleroma.User do ) end + def moderator_user_query() do + from( + u in User, + where: u.local == true, + where: fragment("?->'is_moderator' @> 'true'", u.info) + ) + end + def deactivate(%User{} = user) do new_info = Map.put(user.info, "deactivated", true) cs = User.info_changeset(user, %{info: new_info}) diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 9155e42cd..67cef004a 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -3,6 +3,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do alias Pleroma.Stats alias Pleroma.Web + alias Pleroma.{User, Repo} def schemas(conn, _params) do response = %{ @@ -26,6 +27,11 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do gopher = Application.get_env(:pleroma, :gopher) stats = Stats.get_stats() + staff_accounts = + User.moderator_user_query() + |> Repo.all() + |> Enum.map(fn u -> u.ap_id end) + response = %{ version: "2.0", software: %{ @@ -55,6 +61,7 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do timeout: Keyword.get(suggestions, :timeout, 5000), web: Keyword.get(suggestions, :web, "") }, + staffAccounts: staff_accounts, chat: Keyword.get(chat, :enabled), gopher: Keyword.get(gopher, :enabled) } |