add remote user count for the heck of it
[akkoma] / lib / pleroma / web / translation_helpers.ex
index 8f5a43bf6e3bbc1dd89742b223da4fdff4ab0af7..0fe31d189a5b481ba6d5ff289f96441c2dc010bc 100644 (file)
@@ -1,17 +1,29 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.TranslationHelpers do
-  defmacro render_error(conn, status, msgid, bindings \\ Macro.escape(%{})) do
+  defmacro render_error(
+             conn,
+             status,
+             msgid,
+             bindings \\ Macro.escape(%{}),
+             identifier \\ Macro.escape("")
+           ) do
     quote do
       require Pleroma.Web.Gettext
 
+      error_map =
+        %{
+          error: Pleroma.Web.Gettext.dgettext("errors", unquote(msgid), unquote(bindings)),
+          identifier: unquote(identifier)
+        }
+        |> Enum.reject(fn {_k, v} -> v == "" end)
+        |> Map.new()
+
       unquote(conn)
       |> Plug.Conn.put_status(unquote(status))
-      |> Phoenix.Controller.json(%{
-        error: Pleroma.Web.Gettext.dgettext("errors", unquote(msgid), unquote(bindings))
-      })
+      |> Phoenix.Controller.json(error_map)
     end
   end
 end