Skip to content
Extraits de code Groupes Projets
Valider 93a90cd9 rédigé par Eugen Rochko's avatar Eugen Rochko
Parcourir les fichiers

Delete statuses asynchronously but provide instant feedback in the API

parent 5973ca3d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -58,7 +58,7 @@ class Api::V1::StatusesController < ApiController ...@@ -58,7 +58,7 @@ class Api::V1::StatusesController < ApiController
def destroy def destroy
@status = Status.where(account_id: current_user.account).find(params[:id]) @status = Status.where(account_id: current_user.account).find(params[:id])
RemoveStatusService.new.call(@status) RemovalWorker.perform_async(@status.id)
render_empty render_empty
end end
...@@ -68,8 +68,12 @@ class Api::V1::StatusesController < ApiController ...@@ -68,8 +68,12 @@ class Api::V1::StatusesController < ApiController
end end
def unreblog def unreblog
RemoveStatusService.new.call(Status.where(account_id: current_user.account, reblog_of_id: params[:id]).first!) reblog = Status.where(account_id: current_user.account, reblog_of_id: params[:id]).first!
@status = Status.find(params[:id]) @status = reblog.reblog
@reblogged_map = { @status.id => false }
RemovalWorker.perform_async(reblog.id)
render action: :show render action: :show
end end
......
# frozen_string_literal: true
class RemovalWorker
include Sidekiq::Worker
def perform(status_id)
RemoveStatusService.new.call(Status.find(status_id))
end
end
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter