| defmodule PlausibleWeb.Plugins.API.Controllers.Capabilities do | |
| @moduledoc """ | |
| Controller for Plugins API Capabilities - doesn't enforce authentication, | |
| serves as a comprehensive health check | |
| """ | |
| use PlausibleWeb, :plugins_api_controller | |
| operation(:index, | |
| summary: "Retrieve Capabilities", | |
| parameters: [], | |
| responses: %{ | |
| ok: {"Capabilities response", "application/json", Schemas.Capabilities} | |
| } | |
| ) | |
| @spec index(Plug.Conn.t(), %{}) :: Plug.Conn.t() | |
| def index(conn, _params) do | |
| {:ok, capabilities} = API.Capabilities.get(conn) | |
| conn | |
| |> put_view(Views.Capabilities) | |
| |> render("index.json", capabilities: capabilities) | |
| end | |
| end | |