File size: 679 Bytes
88211d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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