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/about_controller.rb2
-rw-r--r--app/controllers/api/v1/instances_controller.rb2
-rw-r--r--app/controllers/api/v2/instances_controller.rb8
-rw-r--r--app/controllers/home_controller.rb15
4 files changed, 22 insertions, 5 deletions
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index 654f2d92c..d3f03374f 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -20,7 +20,7 @@ class AboutController < ApplicationController
   def more
     flash.now[:notice] = I18n.t('about.instance_actor_flash') if params[:instance_actor]
 
-    toc_generator = TOCGenerator.new(@instance_presenter.site_extended_description)
+    toc_generator = TOCGenerator.new(@instance_presenter.extended_description)
 
     @rules             = Rule.ordered
     @contents          = toc_generator.html
diff --git a/app/controllers/api/v1/instances_controller.rb b/app/controllers/api/v1/instances_controller.rb
index 5b5058a7b..913319a86 100644
--- a/app/controllers/api/v1/instances_controller.rb
+++ b/app/controllers/api/v1/instances_controller.rb
@@ -6,6 +6,6 @@ class Api::V1::InstancesController < Api::BaseController
 
   def show
     expires_in 3.minutes, public: true
-    render_with_cache json: {}, serializer: REST::InstanceSerializer, root: 'instance'
+    render_with_cache json: InstancePresenter.new, serializer: REST::V1::InstanceSerializer, root: 'instance'
   end
 end
diff --git a/app/controllers/api/v2/instances_controller.rb b/app/controllers/api/v2/instances_controller.rb
new file mode 100644
index 000000000..bcd90cff2
--- /dev/null
+++ b/app/controllers/api/v2/instances_controller.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class Api::V2::InstancesController < Api::V1::InstancesController
+  def show
+    expires_in 3.minutes, public: true
+    render_with_cache json: InstancePresenter.new, serializer: REST::InstanceSerializer, root: 'instance'
+  end
+end
diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
index 450f92bd4..61b1690fa 100644
--- a/app/controllers/home_controller.rb
+++ b/app/controllers/home_controller.rb
@@ -2,10 +2,10 @@
 
 class HomeController < ApplicationController
   before_action :redirect_unauthenticated_to_permalinks!
-  before_action :authenticate_user!
 
   before_action :set_pack
   before_action :set_referrer_policy_header
+  before_action :set_instance_presenter
 
   def index
     @body_classes = 'app-body'
@@ -16,7 +16,10 @@ class HomeController < ApplicationController
   def redirect_unauthenticated_to_permalinks!
     return if user_signed_in?
 
-    redirect_to(PermalinkRedirector.new(request.path).redirect_path || default_redirect_path)
+    redirect_path = PermalinkRedirector.new(request.path).redirect_path
+    redirect_path ||= default_redirect_path
+
+    redirect_to(redirect_path) if redirect_path.present?
   end
 
   def set_pack
@@ -24,8 +27,10 @@ class HomeController < ApplicationController
   end
 
   def default_redirect_path
-    if request.path.start_with?('/web') || whitelist_mode?
+    if whitelist_mode?
       new_user_session_path
+    elsif request.path.start_with?('/web')
+      nil
     elsif single_user_mode?
       short_account_path(Account.local.without_suspended.where('id > 0').first)
     else
@@ -36,4 +41,8 @@ class HomeController < ApplicationController
   def set_referrer_policy_header
     response.headers['Referrer-Policy'] = 'origin'
   end
+
+  def set_instance_presenter
+    @instance_presenter = InstancePresenter.new
+  end
 end