File size: 987 Bytes
8da2481 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | defmodule PlausibleWeb.Api.Helpers do
@moduledoc """
Helper functions for API controllers.
"""
import Plug.Conn
def unauthorized(conn, msg) do
conn
|> put_status(401)
|> Phoenix.Controller.json(%{error: msg})
|> halt()
end
def not_enough_permissions(conn, msg) do
conn
|> put_status(403)
|> Phoenix.Controller.json(%{error: msg})
|> halt()
end
def bad_request(conn, msg, extra \\ %{}) do
payload = Map.merge(extra, %{error: msg})
conn
|> put_status(400)
|> Phoenix.Controller.json(payload)
|> halt()
end
def not_found(conn, msg) do
conn
|> put_status(404)
|> Phoenix.Controller.json(%{error: msg})
|> halt()
end
def too_many_requests(conn, msg) do
conn
|> put_status(429)
|> Phoenix.Controller.json(%{error: msg})
|> halt()
end
def payment_required(conn, msg) do
conn
|> put_status(402)
|> Phoenix.Controller.json(%{error: msg})
|> halt()
end
end
|