Add notice compatibility routes for other frontends
[akkoma] / lib / pleroma / web / mastodon_api / controllers / instance_controller.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.MastodonAPI.InstanceController do
6 use Pleroma.Web, :controller
7
8 plug(OpenApiSpex.Plug.CastAndValidate)
9
10 plug(
11 :skip_plug,
12 [Pleroma.Web.Plugs.OAuthScopesPlug, Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug]
13 when action in [:show, :peers]
14 )
15
16 defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.InstanceOperation
17
18 @doc "GET /api/v1/instance"
19 def show(conn, _params) do
20 render(conn, "show.json")
21 end
22
23 @doc "GET /api/v1/instance/peers"
24 def peers(conn, _params) do
25 json(conn, Pleroma.Stats.get_peers())
26 end
27 end