about summary refs log tree commit diff
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/api/v1/instances/privacy_policies_controller.rb18
-rw-r--r--app/controllers/privacy_controller.rb17
2 files changed, 21 insertions, 14 deletions
diff --git a/app/controllers/api/v1/instances/privacy_policies_controller.rb b/app/controllers/api/v1/instances/privacy_policies_controller.rb
new file mode 100644
index 000000000..dbd69f54d
--- /dev/null
+++ b/app/controllers/api/v1/instances/privacy_policies_controller.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class Api::V1::Instances::PrivacyPoliciesController < Api::BaseController
+  skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
+
+  before_action :set_privacy_policy
+
+  def show
+    expires_in 1.day, public: true
+    render json: @privacy_policy, serializer: REST::PrivacyPolicySerializer
+  end
+
+  private
+
+  def set_privacy_policy
+    @privacy_policy = PrivacyPolicy.current
+  end
+end
diff --git a/app/controllers/privacy_controller.rb b/app/controllers/privacy_controller.rb
index ced84dbe5..bc98bca51 100644
--- a/app/controllers/privacy_controller.rb
+++ b/app/controllers/privacy_controller.rb
@@ -1,22 +1,11 @@
 # frozen_string_literal: true
 
 class PrivacyController < ApplicationController
-  layout 'public'
-
-  before_action :set_instance_presenter
-  before_action :set_expires_in
+  include WebAppControllerConcern
 
   skip_before_action :require_functional!
 
-  def show; end
-
-  private
-
-  def set_instance_presenter
-    @instance_presenter = InstancePresenter.new
-  end
-
-  def set_expires_in
-    expires_in 0, public: true
+  def show
+    expires_in 0, public: true if current_account.nil?
   end
 end