First
[anni] / lib / pleroma / web / admin_api / views / moderation_log_view.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.AdminAPI.ModerationLogView do
6   use Pleroma.Web, :view
7
8   alias Pleroma.ModerationLog
9
10   def render("index.json", %{log: log}) do
11     %{
12       items: render_many(log.items, __MODULE__, "show.json", as: :log_entry),
13       total: log.count
14     }
15   end
16
17   def render("show.json", %{log_entry: log_entry}) do
18     time =
19       log_entry.inserted_at
20       |> DateTime.from_naive!("Etc/UTC")
21       |> DateTime.to_unix()
22
23     %{
24       id: log_entry.id,
25       data: log_entry.data,
26       time: time,
27       message: ModerationLog.get_log_entry_message(log_entry)
28     }
29   end
30 end