towerops/lib/towerops_web/controllers/health_controller.ex
2026-01-17 15:00:52 -06:00

36 lines
837 B
Elixir

defmodule ToweropsWeb.HealthController do
@moduledoc false
use ToweropsWeb, :controller
alias Ecto.Adapters.SQL
alias Towerops.Repo
def index(conn, _params) do
# Basic health check with database connectivity test
case SQL.query(Repo, "SELECT 1", []) do
{:ok, _} ->
conn
|> put_resp_content_type("application/json")
|> send_resp(
200,
Jason.encode!(%{
status: "ok",
database: "connected",
version: :towerops |> Application.spec(:vsn) |> to_string()
})
)
{:error, _} ->
conn
|> put_resp_content_type("application/json")
|> send_resp(
503,
Jason.encode!(%{
status: "error",
database: "disconnected"
})
)
end
end
end