Packages

A Fair Source multi-agent runtime with deterministic agent scoring and replayable run history.

Current section

Files

Jump to
syntropy lib syntropy_web controllers api retention_controller.ex
Raw

lib/syntropy_web/controllers/api/retention_controller.ex

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