Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
This commit is contained in:
		@@ -11,12 +11,18 @@ class Api::V1::Statuses::PinsController < Api::BaseController
 | 
			
		||||
 | 
			
		||||
  def create
 | 
			
		||||
    StatusPin.create!(account: current_account, status: @status)
 | 
			
		||||
    distribute_add_activity!
 | 
			
		||||
    render json: @status, serializer: REST::StatusSerializer
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def destroy
 | 
			
		||||
    pin = StatusPin.find_by(account: current_account, status: @status)
 | 
			
		||||
    pin&.destroy!
 | 
			
		||||
 | 
			
		||||
    if pin
 | 
			
		||||
      pin.destroy!
 | 
			
		||||
      distribute_remove_activity!
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    render json: @status, serializer: REST::StatusSerializer
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@@ -25,4 +31,24 @@ class Api::V1::Statuses::PinsController < Api::BaseController
 | 
			
		||||
  def set_status
 | 
			
		||||
    @status = Status.find(params[:status_id])
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def distribute_add_activity!
 | 
			
		||||
    json = ActiveModelSerializers::SerializableResource.new(
 | 
			
		||||
      @status,
 | 
			
		||||
      serializer: ActivityPub::AddSerializer,
 | 
			
		||||
      adapter: ActivityPub::Adapter
 | 
			
		||||
    ).as_json
 | 
			
		||||
 | 
			
		||||
    ActivityPub::RawDistributionWorker.perform_async(Oj.dump(json), current_account)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def distribute_remove_activity!
 | 
			
		||||
    json = ActiveModelSerializers::SerializableResource.new(
 | 
			
		||||
      @status,
 | 
			
		||||
      serializer: ActivityPub::RemoveSerializer,
 | 
			
		||||
      adapter: ActivityPub::Adapter
 | 
			
		||||
    ).as_json
 | 
			
		||||
 | 
			
		||||
    ActivityPub::RawDistributionWorker.perform_async(Oj.dump(json), current_account)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user