Wrong count in response when removing favourite/reblog (#24365)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							6edd404482
						
					
				
				
					commit
					4c18928a93
				
			@@ -17,13 +17,16 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
 | 
			
		||||
 | 
			
		||||
    if fav
 | 
			
		||||
      @status = fav.status
 | 
			
		||||
      count = [@status.favourites_count - 1, 0].max
 | 
			
		||||
      UnfavouriteWorker.perform_async(current_account.id, @status.id)
 | 
			
		||||
    else
 | 
			
		||||
      @status = Status.find(params[:status_id])
 | 
			
		||||
      count = @status.favourites_count
 | 
			
		||||
      authorize @status, :show?
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, favourites_map: { @status.id => false })
 | 
			
		||||
    relationships = StatusRelationshipsPresenter.new([@status], current_account.id, favourites_map: { @status.id => false }, attributes_map: { @status.id => { favourites_count: count } })
 | 
			
		||||
    render json: @status, serializer: REST::StatusSerializer, relationships: relationships
 | 
			
		||||
  rescue Mastodon::NotPermittedError
 | 
			
		||||
    not_found
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
@@ -24,15 +24,18 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
 | 
			
		||||
 | 
			
		||||
    if @status
 | 
			
		||||
      authorize @status, :unreblog?
 | 
			
		||||
      @reblog = @status.reblog
 | 
			
		||||
      count = [@reblog.reblogs_count - 1, 0].max
 | 
			
		||||
      @status.discard
 | 
			
		||||
      RemovalWorker.perform_async(@status.id)
 | 
			
		||||
      @reblog = @status.reblog
 | 
			
		||||
    else
 | 
			
		||||
      @reblog = Status.find(params[:status_id])
 | 
			
		||||
      count = @reblog.reblogs_count
 | 
			
		||||
      authorize @reblog, :show?
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    render json: @reblog, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, reblogs_map: { @reblog.id => false })
 | 
			
		||||
    relationships = StatusRelationshipsPresenter.new([@status], current_account.id, reblogs_map: { @reblog.id => false }, attributes_map: { @reblog.id => { reblogs_count: count } })
 | 
			
		||||
    render json: @reblog, serializer: REST::StatusSerializer, relationships: relationships
 | 
			
		||||
  rescue Mastodon::NotPermittedError
 | 
			
		||||
    not_found
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user