Packages

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

Retired package: Deprecated - superseded — operator console moved to the Syntropy app

Current section

Files

Jump to
syntropy lib syntropy_web controllers api status_controller.ex
Raw

lib/syntropy_web/controllers/api/status_controller.ex

defmodule SyntropyWeb.Api.StatusController do
use SyntropyWeb, :controller
alias Syntropy.RuntimeStatus
@spec health(Plug.Conn.t(), map()) :: Plug.Conn.t()
def health(conn, _params) do
json(conn, %{data: RuntimeStatus.health()})
end
@spec ready(Plug.Conn.t(), map()) :: Plug.Conn.t()
def ready(conn, _params) do
report = RuntimeStatus.readiness()
conn
|> put_status(readiness_status(report.status))
|> json(%{data: report})
end
defp readiness_status("ready"), do: :ok
defp readiness_status(_status), do: :service_unavailable
end