total rebase
[anni] / lib / pleroma / web / mastodon_api / controllers / instance_controller.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 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(Pleroma.Web.ApiSpec.CastAndValidate)
9
10   plug(:skip_auth when action in [:show, :show2, :peers])
11
12   defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.InstanceOperation
13
14   @doc "GET /api/v1/instance"
15   def show(conn, _params) do
16     render(conn, "show.json")
17   end
18
19   @doc "GET /api/v2/instance"
20   def show2(conn, _params) do
21     render(conn, "show2.json")
22   end
23
24   @doc "GET /api/v1/instance/peers"
25   def peers(conn, _params) do
26     json(conn, Pleroma.Stats.get_peers())
27   end
28 end