defmodule SyntropyWeb.Api.UsageController do use SyntropyWeb, :controller alias Syntropy.Usage alias SyntropyWeb.Api.ControllerHelpers @default_window "7d" @spec show(Plug.Conn.t(), map()) :: Plug.Conn.t() def show(conn, params) do case Usage.report(Map.get(params, "window", @default_window)) do {:ok, report} -> json(conn, %{data: report}) {:error, message} -> ControllerHelpers.invalid_request(conn, message, []) end end end