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 pleroma-8143251f06b1a781ee20924c89be484e514f0bec.zip | |
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)        } | 
