projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma]
/
lib
/
pleroma
/
moderation_log.ex
diff --git
a/lib/pleroma/moderation_log.ex
b/lib/pleroma/moderation_log.ex
index 352cad4335a40f9c1beea6ac5c2b258191527b72..e8884e6e81c01bf15a3e0247fb4320831647af1c 100644
(file)
--- a/
lib/pleroma/moderation_log.ex
+++ b/
lib/pleroma/moderation_log.ex
@@
-86,18
+86,18
@@
defmodule Pleroma.ModerationLog do
parsed_datetime
end
parsed_datetime
end
- @spec insert_log(%{actor: User, subject:
User
, action: String.t(), permission: String.t()}) ::
+ @spec insert_log(%{actor: User, subject:
[User]
, action: String.t(), permission: String.t()}) ::
{:ok, ModerationLog} | {:error, any}
def insert_log(%{
actor: %User{} = actor,
{:ok, ModerationLog} | {:error, any}
def insert_log(%{
actor: %User{} = actor,
- subject:
%User{} = subject
,
+ subject:
subjects
,
action: action,
permission: permission
}) do
%ModerationLog{
data: %{
"actor" => user_to_map(actor),
action: action,
permission: permission
}) do
%ModerationLog{
data: %{
"actor" => user_to_map(actor),
- "subject" => user_to_map(subject),
+ "subject" => user_to_map(subject
s
),
"action" => action,
"permission" => permission,
"message" => ""
"action" => action,
"permission" => permission,
"message" => ""
@@
-303,13
+303,16
@@
defmodule Pleroma.ModerationLog do
end
@spec insert_log_entry_with_message(ModerationLog) :: {:ok, ModerationLog} | {:error, any}
end
@spec insert_log_entry_with_message(ModerationLog) :: {:ok, ModerationLog} | {:error, any}
-
defp insert_log_entry_with_message(entry) do
entry.data["message"]
|> put_in(get_log_entry_message(entry))
|> Repo.insert()
end
defp insert_log_entry_with_message(entry) do
entry.data["message"]
|> put_in(get_log_entry_message(entry))
|> Repo.insert()
end
+ defp user_to_map(users) when is_list(users) do
+ users |> Enum.map(&user_to_map/1)
+ end
+
defp user_to_map(%User{} = user) do
user
|> Map.from_struct()
defp user_to_map(%User{} = user) do
user
|> Map.from_struct()
@@
-349,10
+352,10
@@
defmodule Pleroma.ModerationLog do
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "delete",
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "delete",
- "subject" =>
%{"nickname" => subject_nickname, "type" => "user"}
+ "subject" =>
subjects
}
}) do
}
}) do
- "@#{actor_nickname} deleted user
@#{subject_nickname
}"
+ "@#{actor_nickname} deleted user
s: #{users_to_nicknames_string(subjects)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-363,12
+366,7
@@
defmodule Pleroma.ModerationLog do
"subjects" => subjects
}
}) do
"subjects" => subjects
}
}) do
- nicknames =
- subjects
- |> Enum.map(&"@#{&1["nickname"]}")
- |> Enum.join(", ")
-
- "@#{actor_nickname} created users: #{nicknames}"
+ "@#{actor_nickname} created users: #{users_to_nicknames_string(subjects)}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-376,10
+374,10
@@
defmodule Pleroma.ModerationLog do
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "activate",
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "activate",
- "subject" =>
%{"nickname" => subject_nickname, "type" => "user"}
+ "subject" =>
users
}
}) do
}
}) do
- "@#{actor_nickname} activated user
@#{subject_nickname
}"
+ "@#{actor_nickname} activated user
s: #{users_to_nicknames_string(users)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-387,10
+385,10
@@
defmodule Pleroma.ModerationLog do
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "deactivate",
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "deactivate",
- "subject" =>
%{"nickname" => subject_nickname, "type" => "user"}
+ "subject" =>
users
}
}) do
}
}) do
- "@#{actor_nickname} deactivated user
@#{subject_nickname
}"
+ "@#{actor_nickname} deactivated user
s: #{users_to_nicknames_string(users)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-402,14
+400,9
@@
defmodule Pleroma.ModerationLog do
"action" => "tag"
}
}) do
"action" => "tag"
}
}) do
- nicknames_string =
- nicknames
- |> Enum.map(&"@#{&1}")
- |> Enum.join(", ")
-
tags_string = tags |> Enum.join(", ")
tags_string = tags |> Enum.join(", ")
- "@#{actor_nickname} added tags: #{tags_string} to users: #{nicknames_
string
}"
+ "@#{actor_nickname} added tags: #{tags_string} to users: #{nicknames_
to_string(nicknames)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-421,14
+414,9
@@
defmodule Pleroma.ModerationLog do
"action" => "untag"
}
}) do
"action" => "untag"
}
}) do
- nicknames_string =
- nicknames
- |> Enum.map(&"@#{&1}")
- |> Enum.join(", ")
-
tags_string = tags |> Enum.join(", ")
tags_string = tags |> Enum.join(", ")
- "@#{actor_nickname} removed tags: #{tags_string} from users: #{nicknames_
string
}"
+ "@#{actor_nickname} removed tags: #{tags_string} from users: #{nicknames_
to_string(nicknames)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-436,11
+424,11
@@
defmodule Pleroma.ModerationLog do
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "grant",
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "grant",
- "subject" =>
%{"nickname" => subject_nickname}
,
+ "subject" =>
users
,
"permission" => permission
}
}) do
"permission" => permission
}
}) do
- "@#{actor_nickname} made
@#{subject_nickname
} #{permission}"
+ "@#{actor_nickname} made
#{users_to_nicknames_string(users)
} #{permission}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-448,11
+436,11
@@
defmodule Pleroma.ModerationLog do
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "revoke",
data: %{
"actor" => %{"nickname" => actor_nickname},
"action" => "revoke",
- "subject" =>
%{"nickname" => subject_nickname}
,
+ "subject" =>
users
,
"permission" => permission
}
}) do
"permission" => permission
}
}) do
- "@#{actor_nickname} revoked #{permission} role from
@#{subject_nickname
}"
+ "@#{actor_nickname} revoked #{permission} role from
#{users_to_nicknames_string(users)
}"
end
@spec get_log_entry_message(ModerationLog) :: String.t()
end
@spec get_log_entry_message(ModerationLog) :: String.t()
@@
-551,4
+539,16
@@
defmodule Pleroma.ModerationLog do
}) do
"@#{actor_nickname} deleted status ##{subject_id}"
end
}) do
"@#{actor_nickname} deleted status ##{subject_id}"
end
+
+ defp nicknames_to_string(nicknames) do
+ nicknames
+ |> Enum.map(&"@#{&1}")
+ |> Enum.join(", ")
+ end
+
+ defp users_to_nicknames_string(users) do
+ users
+ |> Enum.map(&"@#{&1["nickname"]}")
+ |> Enum.join(", ")
+ end
end
end