29 lines
		
	
	
	
		
			814 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			814 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
| # Pleroma: A lightweight social networking server
 | |
| # Copyright © 2017-2019 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(%{}),
 | |
|              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_map)
 | |
|     end
 | |
|   end
 | |
| end
 | 
