|
|
@ -10,6 +10,7 @@ class TagsController < ApplicationController
|
|
|
|
before_action :require_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
|
|
|
before_action :require_signature!, if: -> { request.format == :json && authorized_fetch_mode? }
|
|
|
|
before_action :authenticate_user!, if: :whitelist_mode?
|
|
|
|
before_action :authenticate_user!, if: :whitelist_mode?
|
|
|
|
before_action :set_tag
|
|
|
|
before_action :set_tag
|
|
|
|
|
|
|
|
before_action :set_local
|
|
|
|
before_action :set_body_classes
|
|
|
|
before_action :set_body_classes
|
|
|
|
before_action :set_instance_presenter
|
|
|
|
before_action :set_instance_presenter
|
|
|
|
|
|
|
|
|
|
|
@ -24,7 +25,7 @@ class TagsController < ApplicationController
|
|
|
|
format.rss do
|
|
|
|
format.rss do
|
|
|
|
expires_in 0, public: true
|
|
|
|
expires_in 0, public: true
|
|
|
|
|
|
|
|
|
|
|
|
@statuses = HashtagQueryService.new.call(@tag, filter_params).limit(PAGE_SIZE)
|
|
|
|
@statuses = HashtagQueryService.new.call(@tag, filter_params, nil, @local).limit(PAGE_SIZE)
|
|
|
|
@statuses = cache_collection(@statuses, Status)
|
|
|
|
@statuses = cache_collection(@statuses, Status)
|
|
|
|
|
|
|
|
|
|
|
|
render xml: RSS::TagSerializer.render(@tag, @statuses)
|
|
|
|
render xml: RSS::TagSerializer.render(@tag, @statuses)
|
|
|
@ -33,7 +34,7 @@ class TagsController < ApplicationController
|
|
|
|
format.json do
|
|
|
|
format.json do
|
|
|
|
expires_in 3.minutes, public: public_fetch_mode?
|
|
|
|
expires_in 3.minutes, public: public_fetch_mode?
|
|
|
|
|
|
|
|
|
|
|
|
@statuses = HashtagQueryService.new.call(@tag, filter_params, current_account, params[:local]).paginate_by_max_id(PAGE_SIZE, params[:max_id])
|
|
|
|
@statuses = HashtagQueryService.new.call(@tag, filter_params, current_account, @local).paginate_by_max_id(PAGE_SIZE, params[:max_id])
|
|
|
|
@statuses = cache_collection(@statuses, Status)
|
|
|
|
@statuses = cache_collection(@statuses, Status)
|
|
|
|
|
|
|
|
|
|
|
|
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
|
|
|
|
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
|
|
|
@ -47,6 +48,10 @@ class TagsController < ApplicationController
|
|
|
|
@tag = Tag.usable.find_normalized!(params[:id])
|
|
|
|
@tag = Tag.usable.find_normalized!(params[:id])
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def set_local
|
|
|
|
|
|
|
|
@local = truthy_param?(:local)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def set_body_classes
|
|
|
|
def set_body_classes
|
|
|
|
@body_classes = 'with-modals'
|
|
|
|
@body_classes = 'with-modals'
|
|
|
|
end
|
|
|
|
end
|
|
|
|