defmodule SyntropyWeb.Api.RetentionController do use SyntropyWeb, :controller alias Syntropy.Retention alias SyntropyWeb.Api.ControllerHelpers @spec show(Plug.Conn.t(), map()) :: Plug.Conn.t() def show(conn, _params) do json(conn, %{data: Retention.report()}) end @spec update(Plug.Conn.t(), map()) :: Plug.Conn.t() def update(conn, params) do case Retention.apply_policy(Map.get(params, "policy")) do {:ok, report} -> json(conn, %{data: report}) {:error, message} -> ControllerHelpers.invalid_request(conn, message, []) end end end