[#394] Refactoring.

This commit is contained in:
Ivan Tashkinov 2018-12-06 20:23:16 +03:00
parent 22830c8fc9
commit 7bcb6a183a
3 changed files with 7 additions and 8 deletions

View file

@ -846,12 +846,7 @@ defp tag_or_untag([hd | _] = users, tags, action) when is_map(hd) do
Repo.transaction(fn -> Repo.transaction(fn ->
for user <- users do for user <- users do
new_tags = new_tags = mutate_tags(user, tags, action)
if action == :tag do
Enum.uniq(user.tags ++ tags)
else
user.tags -- tags
end
{:ok, updated_user} = {:ok, updated_user} =
user user
@ -862,4 +857,8 @@ defp tag_or_untag([hd | _] = users, tags, action) when is_map(hd) do
end end
end) end)
end end
defp mutate_tags(user, tags, :tag), do: Enum.uniq(user.tags ++ tags)
defp mutate_tags(user, tags, :untag), do: user.tags -- tags
end end

View file

@ -59,7 +59,7 @@ def render("account.json", %{user: user} = opts) do
privacy: user_info.default_scope, privacy: user_info.default_scope,
sensitive: false sensitive: false
}, },
# Note: Mastodon does not return this field: # Pleroma extension
tags: user.tags tags: user.tags
} }
end end

View file

@ -78,7 +78,7 @@ def render("user.json", %{user: user = %User{}} = assigns) do
"default_scope" => user.info.default_scope, "default_scope" => user.info.default_scope,
"no_rich_text" => user.info.no_rich_text, "no_rich_text" => user.info.no_rich_text,
"fields" => fields, "fields" => fields,
# Note: twitter.com does not return this field: # Pleroma extension
"tags" => user.tags "tags" => user.tags
} }