Add timelines_access to InstanceView
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
parent
d15f98bdec
commit
b975dce9ba
3 changed files with 50 additions and 1 deletions
1
changelog.d/instance-view-timeline-access.add
Normal file
1
changelog.d/instance-view-timeline-access.add
Normal file
|
|
@ -0,0 +1 @@
|
|||
Add `timelines_access` to InstanceView
|
||||
|
|
@ -257,10 +257,34 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
|
|||
vapid: %{
|
||||
public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key)
|
||||
},
|
||||
translation: %{enabled: Pleroma.Language.Translation.configured?()}
|
||||
translation: %{enabled: Pleroma.Language.Translation.configured?()},
|
||||
timelines_access: %{
|
||||
live_feeds: timelines_access(),
|
||||
hashtag_feeds: timelines_access(),
|
||||
# not implemented in Pleroma
|
||||
trending_link_feeds: %{
|
||||
local: "disabled",
|
||||
remote: "disabled"
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
defp timelines_access do
|
||||
%{
|
||||
local: timeline_access(:local),
|
||||
remote: timeline_access(:federated)
|
||||
}
|
||||
end
|
||||
|
||||
defp timeline_access(kind) do
|
||||
if Config.restrict_unauthenticated_access?(:timelines, kind) do
|
||||
"authenticated"
|
||||
else
|
||||
"public"
|
||||
end
|
||||
end
|
||||
|
||||
defp pleroma_configuration(instance) do
|
||||
base_urls = %{}
|
||||
|
||||
|
|
|
|||
|
|
@ -194,4 +194,28 @@ defmodule Pleroma.Web.MastodonAPI.InstanceControllerTest do
|
|||
refute Map.has_key?(result["pleroma"]["metadata"]["base_urls"], "media_proxy")
|
||||
refute Map.has_key?(result["pleroma"]["metadata"]["base_urls"], "upload")
|
||||
end
|
||||
|
||||
test "display timeline access restrictions", %{conn: conn} do
|
||||
clear_config([:restrict_unauthenticated, :timelines, :local], true)
|
||||
clear_config([:restrict_unauthenticated, :timelines, :federated], false)
|
||||
|
||||
conn = get(conn, "/api/v2/instance")
|
||||
|
||||
assert result = json_response_and_validate_schema(conn, 200)
|
||||
|
||||
assert result["configuration"]["timelines_access"] == %{
|
||||
"live_feeds" => %{
|
||||
"local" => "authenticated",
|
||||
"remote" => "public"
|
||||
},
|
||||
"hashtag_feeds" => %{
|
||||
"local" => "authenticated",
|
||||
"remote" => "public"
|
||||
},
|
||||
"trending_link_feeds" => %{
|
||||
"local" => "disabled",
|
||||
"remote" => "disabled"
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue