forked from YokaiRick/akkoma
use nodeinfo 2.1, add repository field
that is the only change from nodeinfo 2.0 to 2.1 also this makes the nodeinfo tests use 2.1.json instead of 2.0.json
This commit is contained in:
parent
0340fcaeca
commit
c05928dbda
3 changed files with 14 additions and 11 deletions
|
@ -8,9 +8,11 @@ defmodule Pleroma.Application do
|
|||
|
||||
@name "Pleroma"
|
||||
@version Mix.Project.config()[:version]
|
||||
@repository "https://git.pleroma.social/pleroma/pleroma"
|
||||
def name, do: @name
|
||||
def version, do: @version
|
||||
def named_version(), do: @name <> " " <> @version
|
||||
def repository, do: @repository
|
||||
|
||||
def user_agent() do
|
||||
info = "#{Pleroma.Web.base_url()} <#{Pleroma.Config.get([:instance, :email], "")}>"
|
||||
|
|
|
@ -17,8 +17,8 @@ def schemas(conn, _params) do
|
|||
response = %{
|
||||
links: [
|
||||
%{
|
||||
rel: "http://nodeinfo.diaspora.software/ns/schema/2.0",
|
||||
href: Web.base_url() <> "/nodeinfo/2.0.json"
|
||||
rel: "http://nodeinfo.diaspora.software/ns/schema/2.1",
|
||||
href: Web.base_url() <> "/nodeinfo/2.1.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -26,8 +26,8 @@ def schemas(conn, _params) do
|
|||
json(conn, response)
|
||||
end
|
||||
|
||||
# Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json
|
||||
def nodeinfo(conn, %{"version" => "2.0"}) do
|
||||
# Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.1/schema.json
|
||||
def nodeinfo(conn, %{"version" => "2.1"}) do
|
||||
instance = Application.get_env(:pleroma, :instance)
|
||||
media_proxy = Application.get_env(:pleroma, :media_proxy)
|
||||
suggestions = Application.get_env(:pleroma, :suggestions)
|
||||
|
@ -99,10 +99,11 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
|
|||
|> Enum.filter(& &1)
|
||||
|
||||
response = %{
|
||||
version: "2.0",
|
||||
version: "2.1",
|
||||
software: %{
|
||||
name: Pleroma.Application.name(),
|
||||
version: Pleroma.Application.version()
|
||||
version: Pleroma.Application.version(),
|
||||
repository: Pleroma.Application.repository(),
|
||||
},
|
||||
protocols: ["ostatus", "activitypub"],
|
||||
services: %{
|
||||
|
@ -146,7 +147,7 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
|
|||
conn
|
||||
|> put_resp_header(
|
||||
"content-type",
|
||||
"application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8"
|
||||
"application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.1#; charset=utf-8"
|
||||
)
|
||||
|> json(response)
|
||||
end
|
||||
|
|
|
@ -12,7 +12,7 @@ test "nodeinfo shows staff accounts", %{conn: conn} do
|
|||
|
||||
conn =
|
||||
conn
|
||||
|> get("/nodeinfo/2.0.json")
|
||||
|> get("/nodeinfo/2.1.json")
|
||||
|
||||
assert result = json_response(conn, 200)
|
||||
|
||||
|
@ -22,7 +22,7 @@ test "nodeinfo shows staff accounts", %{conn: conn} do
|
|||
test "nodeinfo shows restricted nicknames", %{conn: conn} do
|
||||
conn =
|
||||
conn
|
||||
|> get("/nodeinfo/2.0.json")
|
||||
|> get("/nodeinfo/2.1.json")
|
||||
|
||||
assert result = json_response(conn, 200)
|
||||
|
||||
|
@ -42,7 +42,7 @@ test "returns 404 when federation is disabled", %{conn: conn} do
|
|||
|> json_response(404)
|
||||
|
||||
conn
|
||||
|> get("/nodeinfo/2.0.json")
|
||||
|> get("/nodeinfo/2.1.json")
|
||||
|> json_response(404)
|
||||
|
||||
instance =
|
||||
|
@ -58,7 +58,7 @@ test "returns 200 when federation is enabled", %{conn: conn} do
|
|||
|> json_response(200)
|
||||
|
||||
conn
|
||||
|> get("/nodeinfo/2.0.json")
|
||||
|> get("/nodeinfo/2.1.json")
|
||||
|> json_response(200)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue