logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: a7eb148d6100d20e19a33cb1c1132657b8a9ada1
parent: 279b1d19f0bf90b76f37256ef20993f821e3024f
Author: lain <lain@soykaf.club>
Date:   Wed, 25 Apr 2018 16:10:18 +0200

Optionally deactivate public timelines.

Diffstat:

Mconfig/config.exs3++-
Mlib/pleroma/web/router.ex32++++++++++++++++++++------------
2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/config/config.exs b/config/config.exs @@ -53,7 +53,8 @@ config :pleroma, :instance, upload_limit: 16_000_000, registrations_open: true, federating: true, - rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy + rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy, + public: true config :pleroma, :mrf_simple, media_removal: [], diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex @@ -5,6 +5,8 @@ defmodule Pleroma.Web.Router do @instance Application.get_env(:pleroma, :instance) @federating Keyword.get(@instance, :federating) + @public Keyword.get(@instance, :public) + @registrations_open Keyword.get(@instance, :registrations_open) def user_fetcher(username) do {:ok, Repo.get_by(User, %{nickname: username})} @@ -160,21 +162,9 @@ defmodule Pleroma.Web.Router do get("/statusnet/version", TwitterAPI.UtilController, :version) end - @instance Application.get_env(:pleroma, :instance) - @registrations_open Keyword.get(@instance, :registrations_open) - scope "/api", Pleroma.Web do 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("/qvitter/statuses/user_timeline", TwitterAPI.Controller, :user_timeline) get("/users/show", TwitterAPI.Controller, :show_user) @@ -193,6 +183,24 @@ defmodule Pleroma.Web.Router do end 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) get("/account/verify_credentials", TwitterAPI.Controller, :verify_credentials)