federation_status: New endpoint showing unreachable instances
[akkoma] / lib / pleroma / web / pleroma_api / controllers / instances_controller.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.PleromaAPI.InstancesController do
6 use Pleroma.Web, :controller
7
8 alias Pleroma.Instances
9
10 # defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.PleromaInstancesController
11
12 def show(conn, _params) do
13 unreachable =
14 Instances.get_consistently_unreachable()
15 |> Enum.reduce(%{}, fn {host, date}, acc -> Map.put(acc, host, to_string(date)) end)
16
17 json(conn, %{"unreachable" => unreachable})
18 end
19 end