Merge branch '394_user_tags' into 'develop'
[#394] User tags Closes #394 See merge request pleroma/pleroma!508
This commit is contained in:
commit
94d8f1ab30
10 changed files with 168 additions and 7 deletions
|
|
@ -3,6 +3,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
|
|||
alias Pleroma.{User, Repo}
|
||||
alias Pleroma.Web.ActivityPub.Relay
|
||||
|
||||
import Pleroma.Web.ControllerHelper, only: [json_response: 3]
|
||||
|
||||
require Logger
|
||||
|
||||
action_fallback(:errors)
|
||||
|
|
@ -40,6 +42,16 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
|
|||
|> json(new_user.nickname)
|
||||
end
|
||||
|
||||
def tag_users(conn, %{"nicknames" => nicknames, "tags" => tags}) do
|
||||
with {:ok, _} <- User.tag(nicknames, tags),
|
||||
do: json_response(conn, :no_content, "")
|
||||
end
|
||||
|
||||
def untag_users(conn, %{"nicknames" => nicknames, "tags" => tags}) do
|
||||
with {:ok, _} <- User.untag(nicknames, tags),
|
||||
do: json_response(conn, :no_content, "")
|
||||
end
|
||||
|
||||
def right_add(conn, %{"permission_group" => permission_group, "nickname" => nickname})
|
||||
when permission_group in ["moderator", "admin"] do
|
||||
user = User.get_by_nickname(nickname)
|
||||
|
|
|
|||
9
lib/pleroma/web/controller_helper.ex
Normal file
9
lib/pleroma/web/controller_helper.ex
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
defmodule Pleroma.Web.ControllerHelper do
|
||||
use Pleroma.Web, :controller
|
||||
|
||||
def json_response(conn, status, json) do
|
||||
conn
|
||||
|> put_status(status)
|
||||
|> json(json)
|
||||
end
|
||||
end
|
||||
|
|
@ -58,6 +58,11 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
|
|||
note: "",
|
||||
privacy: user_info.default_scope,
|
||||
sensitive: false
|
||||
},
|
||||
|
||||
# Pleroma extension
|
||||
pleroma: %{
|
||||
tags: user.tags
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
|||
|
|
@ -98,6 +98,8 @@ defmodule Pleroma.Web.Router do
|
|||
pipe_through(:admin_api)
|
||||
delete("/user", AdminAPIController, :user_delete)
|
||||
post("/user", AdminAPIController, :user_create)
|
||||
put("/users/tag", AdminAPIController, :tag_users)
|
||||
delete("/users/tag", AdminAPIController, :untag_users)
|
||||
|
||||
get("/permission_group/:nickname", AdminAPIController, :right_get)
|
||||
get("/permission_group/:nickname/:permission_group", AdminAPIController, :right_get)
|
||||
|
|
|
|||
|
|
@ -77,7 +77,12 @@ defmodule Pleroma.Web.TwitterAPI.UserView do
|
|||
"locked" => user.info.locked,
|
||||
"default_scope" => user.info.default_scope,
|
||||
"no_rich_text" => user.info.no_rich_text,
|
||||
"fields" => fields
|
||||
"fields" => fields,
|
||||
|
||||
# Pleroma extension
|
||||
"pleroma" => %{
|
||||
"tags" => user.tags
|
||||
}
|
||||
}
|
||||
|
||||
if assigns[:token] do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue