Optionally deactivate public timelines.

This commit is contained in:
lain 2018-04-25 16:10:18 +02:00
parent 279b1d19f0
commit a7eb148d61
2 changed files with 22 additions and 13 deletions

View File

@ -53,7 +53,8 @@ config :pleroma, :instance,
upload_limit: 16_000_000, upload_limit: 16_000_000,
registrations_open: true, registrations_open: true,
federating: true, federating: true,
rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy,
public: true
config :pleroma, :mrf_simple, config :pleroma, :mrf_simple,
media_removal: [], media_removal: [],

View File

@ -5,6 +5,8 @@ defmodule Pleroma.Web.Router do
@instance Application.get_env(:pleroma, :instance) @instance Application.get_env(:pleroma, :instance)
@federating Keyword.get(@instance, :federating) @federating Keyword.get(@instance, :federating)
@public Keyword.get(@instance, :public)
@registrations_open Keyword.get(@instance, :registrations_open)
def user_fetcher(username) do def user_fetcher(username) do
{:ok, Repo.get_by(User, %{nickname: username})} {:ok, Repo.get_by(User, %{nickname: username})}
@ -160,21 +162,9 @@ defmodule Pleroma.Web.Router do
get("/statusnet/version", TwitterAPI.UtilController, :version) get("/statusnet/version", TwitterAPI.UtilController, :version)
end end
@instance Application.get_env(:pleroma, :instance)
@registrations_open Keyword.get(@instance, :registrations_open)
scope "/api", Pleroma.Web do scope "/api", Pleroma.Web do
pipe_through(:api) pipe_through(:api)
get("/statuses/public_timeline", TwitterAPI.Controller, :public_timeline)
get(
"/statuses/public_and_external_timeline",
TwitterAPI.Controller,
:public_and_external_timeline
)
get("/statuses/networkpublic_timeline", TwitterAPI.Controller, :public_and_external_timeline)
get("/statuses/user_timeline", TwitterAPI.Controller, :user_timeline) get("/statuses/user_timeline", TwitterAPI.Controller, :user_timeline)
get("/qvitter/statuses/user_timeline", TwitterAPI.Controller, :user_timeline) get("/qvitter/statuses/user_timeline", TwitterAPI.Controller, :user_timeline)
get("/users/show", TwitterAPI.Controller, :show_user) get("/users/show", TwitterAPI.Controller, :show_user)
@ -193,6 +183,24 @@ defmodule Pleroma.Web.Router do
end end
scope "/api", Pleroma.Web do scope "/api", Pleroma.Web do
if @public do
pipe_through(:api)
else
pipe_through(:authenticated_api)
end
get("/statuses/public_timeline", TwitterAPI.Controller, :public_timeline)
get(
"/statuses/public_and_external_timeline",
TwitterAPI.Controller,
:public_and_external_timeline
)
get("/statuses/networkpublic_timeline", TwitterAPI.Controller, :public_and_external_timeline)
end
scope "/api", Pleroma.Web do
pipe_through(:authenticated_api) pipe_through(:authenticated_api)
get("/account/verify_credentials", TwitterAPI.Controller, :verify_credentials) get("/account/verify_credentials", TwitterAPI.Controller, :verify_credentials)