Do not serve RSS/Atom feeds when instance is private
[akkoma] / lib / pleroma / web / metadata / feed.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.Metadata.Providers.Feed do
6 alias Pleroma.Web.Endpoint
7 alias Pleroma.Web.Metadata.Providers.Provider
8 alias Pleroma.Web.Router.Helpers
9
10 @behaviour Provider
11
12 @impl Provider
13 def build_tags(%{user: user}) do
14 if Pleroma.Config.get!([:instance, :public]) do
15 [
16 {:link,
17 [
18 rel: "alternate",
19 type: "application/atom+xml",
20 href: Helpers.user_feed_path(Endpoint, :feed, user.nickname) <> ".atom"
21 ], []}
22 ]
23 else
24 []
25 end
26 end
27 end