diff options
author | Roman Chvanikov <chvanikoff@pm.me> | 2019-07-14 21:43:30 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@pm.me> | 2019-07-14 21:43:30 +0300 |
commit | c729883936c7d258cb670929af9577aec3e22851 (patch) | |
tree | 17aec90897b221c000be1992001967a3861a6c10 /lib/pleroma/user.ex | |
parent | 0384459ce552c50edb582413808a099086b6495e (diff) | |
parent | 93701c3399add8af2d4a5d43b6f171d84655a533 (diff) | |
download | pleroma-c729883936c7d258cb670929af9577aec3e22851.tar.gz |
Merge branch 'develop' into feature/digest-email
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 9eb13084f..df92424b1 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -750,10 +750,13 @@ defmodule Pleroma.User do |> Repo.all() end - def mute(muter, %User{ap_id: ap_id}) do + @spec mute(User.t(), User.t(), boolean()) :: {:ok, User.t()} | {:error, String.t()} + def mute(muter, %User{ap_id: ap_id}, notifications? \\ true) do + info = muter.info + info_cng = - muter.info - |> User.Info.add_to_mutes(ap_id) + User.Info.add_to_mutes(info, ap_id) + |> User.Info.add_to_muted_notifications(info, ap_id, notifications?) cng = change(muter) @@ -763,9 +766,11 @@ defmodule Pleroma.User do end def unmute(muter, %{ap_id: ap_id}) do + info = muter.info + info_cng = - muter.info - |> User.Info.remove_from_mutes(ap_id) + User.Info.remove_from_mutes(info, ap_id) + |> User.Info.remove_from_muted_notifications(info, ap_id) cng = change(muter) @@ -861,6 +866,12 @@ defmodule Pleroma.User do def mutes?(nil, _), do: false def mutes?(user, %{ap_id: ap_id}), do: Enum.member?(user.info.mutes, ap_id) + @spec muted_notifications?(User.t() | nil, User.t() | map()) :: boolean() + def muted_notifications?(nil, _), do: false + + def muted_notifications?(user, %{ap_id: ap_id}), + do: Enum.member?(user.info.muted_notifications, ap_id) + def blocks?(%User{info: info} = _user, %{ap_id: ap_id}) do blocks = info.blocks domain_blocks = info.domain_blocks |