Skip to content
Snippets Groups Projects
  • Eugen Rochko's avatar
    8c45cd0e
    Improve ActivityPub representations (#3844) · 8c45cd0e
    Eugen Rochko authored
    * Improve webfinger templates and make tests more flexible
    
    * Clean up AS2 representation of actor
    
    * Refactor outbox
    
    * Create activities representation
    
    * Add representations of followers/following collections, do not redirect /users/:username route if format is empty
    
    * Remove unused translations
    
    * ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better
    URL/URI generation
    
    * Add ActivityPub::TagManager#to
    
    * Represent all attachments as Document instead of Image/Video specifically
    (Because for remote ones we may not know for sure)
    
    Add mentions and hashtags representation to AP notes
    
    * Add AP-resolvable hashtag URIs
    
    * Use ActiveModelSerializers for ActivityPub
    
    * Clean up unused translations
    
    * Separate route for object and activity
    
    * Adjust cc/to matrices
    
    * Add to/cc to activities, ensure announce activity embeds target status and
    not the wrapper status, add "id" to all collections
    8c45cd0e
    History
    Improve ActivityPub representations (#3844)
    Eugen Rochko authored
    * Improve webfinger templates and make tests more flexible
    
    * Clean up AS2 representation of actor
    
    * Refactor outbox
    
    * Create activities representation
    
    * Add representations of followers/following collections, do not redirect /users/:username route if format is empty
    
    * Remove unused translations
    
    * ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better
    URL/URI generation
    
    * Add ActivityPub::TagManager#to
    
    * Represent all attachments as Document instead of Image/Video specifically
    (Because for remote ones we may not know for sure)
    
    Add mentions and hashtags representation to AP notes
    
    * Add AP-resolvable hashtag URIs
    
    * Use ActiveModelSerializers for ActivityPub
    
    * Clean up unused translations
    
    * Separate route for object and activity
    
    * Adjust cc/to matrices
    
    * Add to/cc to activities, ensure announce activity embeds target status and
    not the wrapper status, add "id" to all collections
follower_accounts_controller.rb 802 B
# frozen_string_literal: true

class FollowerAccountsController < ApplicationController
  include AccountControllerConcern

  def index
    @follows = Follow.where(target_account: @account).recent.page(params[:page]).per(FOLLOW_PER_PAGE).preload(:account)

    respond_to do |format|
      format.html

      format.json do
        render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter
      end
    end
  end

  private

  def collection_presenter
    ActivityPub::CollectionPresenter.new(
      id: account_followers_url(@account),
      type: :ordered,
      current: account_followers_url(@account),
      size: @account.followers_count,
      items: @follows.map { |f| ActivityPub::TagManager.instance.uri_for(f.account) }
    )
  end
end