Add timeline visibility options
[akkoma] / lib / pleroma / web / nodeinfo / nodeinfo_controller.ex
index 69ec27ba05f1979ebeab7b040aab23bde9b82a29..4c5a36895ceac1a09f025b3e9daae04450f9ba48 100644 (file)
@@ -5,6 +5,11 @@
 defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
   use Pleroma.Web, :controller
 
+  alias Pleroma.Config
+  alias Pleroma.Stats
+  alias Pleroma.User
+  alias Pleroma.Web.Federator.Publisher
+  alias Pleroma.Web.MastodonAPI.InstanceView
   alias Pleroma.Web.Endpoint
   alias Pleroma.Web.Nodeinfo.Nodeinfo
 
@@ -27,18 +32,16 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
 
   # Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json
   # and https://github.com/jhass/nodeinfo/blob/master/schemas/2.1/schema.json
-  def nodeinfo(conn, %{"version" => version}) do
-    case Nodeinfo.get_nodeinfo(version) do
-      {:error, :missing} ->
-        render_error(conn, :not_found, "Nodeinfo schema version not handled")
+  def nodeinfo(conn, %{"version" => version}) when version in ["2.0", "2.1"] do
+    conn
+    |> put_resp_header(
+      "content-type",
+      "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8"
+    )
+    |> json(Nodeinfo.get_nodeinfo(version))
+  end
 
-      node_info ->
-        conn
-        |> put_resp_header(
-          "content-type",
-          "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8"
-        )
-        |> json(node_info)
-    end
+  def nodeinfo(conn, _) do
+    render_error(conn, :not_found, "Nodeinfo schema version not handled")
   end
 end