1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.MastodonAPI.InstanceController do
6 use Pleroma.Web, :controller
8 plug(OpenApiSpex.Plug.CastAndValidate)
12 [Pleroma.Web.Plugs.OAuthScopesPlug, Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug]
13 when action in [:show, :peers]
16 defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.InstanceOperation
18 @doc "GET /api/v1/instance"
19 def show(conn, _params) do
20 render(conn, "show.json")
23 @doc "GET /api/v1/instance/peers"
24 def peers(conn, _params) do
25 json(conn, Pleroma.Stats.get_peers())