|
|
|
@ -889,21 +889,27 @@ defmodule Pleroma.User do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def mute(muter, %User{ap_id: ap_id}) do
|
|
|
|
|
mutes = muter.info["mutes"] || []
|
|
|
|
|
new_mutes = Enum.uniq([ap_id | mutes])
|
|
|
|
|
new_info = Map.put(muter.info, "mutes", new_mutes)
|
|
|
|
|
info_cng =
|
|
|
|
|
muter.info
|
|
|
|
|
|> User.Info.add_to_mutes(ap_id)
|
|
|
|
|
|
|
|
|
|
cng =
|
|
|
|
|
change(muter)
|
|
|
|
|
|> put_embed(:info, info_cng)
|
|
|
|
|
|
|
|
|
|
User.info_changeset(muter, %{info: new_info})
|
|
|
|
|
|> update_and_set_cache()
|
|
|
|
|
update_and_set_cache(cng)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def unmute(user, %{ap_id: ap_id}) do
|
|
|
|
|
mutes = user.info["mutes"] || []
|
|
|
|
|
new_mutes = List.delete(mutes, ap_id)
|
|
|
|
|
new_info = Map.put(user.info, "mutes", new_mutes)
|
|
|
|
|
def unmute(muter, %{ap_id: ap_id}) do
|
|
|
|
|
info_cng =
|
|
|
|
|
muter.info
|
|
|
|
|
|> User.Info.remove_from_mutes(ap_id)
|
|
|
|
|
|
|
|
|
|
User.info_changeset(user, %{info: new_info})
|
|
|
|
|
|> update_and_set_cache()
|
|
|
|
|
cng =
|
|
|
|
|
change(muter)
|
|
|
|
|
|> put_embed(:info, info_cng)
|
|
|
|
|
|
|
|
|
|
update_and_set_cache(cng)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def block(blocker, %User{ap_id: ap_id} = blocked) do
|
|
|
|
@ -948,7 +954,7 @@ defmodule Pleroma.User do
|
|
|
|
|
update_and_set_cache(cng)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def mutes?(user, %{ap_id: ap_id}), do: Enum.member?(user.info["mutes"] || [], ap_id)
|
|
|
|
|
def mutes?(user, %{ap_id: ap_id}), do: Enum.member?(user.info.mutes, ap_id)
|
|
|
|
|
|
|
|
|
|
def blocks?(user, %{ap_id: ap_id}) do
|
|
|
|
|
blocks = user.info.blocks
|
|
|
|
@ -961,6 +967,9 @@ defmodule Pleroma.User do
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def muted_users(user),
|
|
|
|
|
do: Repo.all(from(u in User, where: u.ap_id in ^user.info.mutes))
|
|
|
|
|
|
|
|
|
|
def blocked_users(user),
|
|
|
|
|
do: Repo.all(from(u in User, where: u.ap_id in ^user.info.blocks))
|
|
|
|
|
|
|
|
|
|