Fix #3378 - If favourite/reblog already exists, return it instead of failing (#3641)

master
Eugen Rochko 7 years ago committed by GitHub
parent 8902e265b4
commit b87eb8ea14
  1. 4
      app/services/favourite_service.rb
  2. 4
      app/services/reblog_service.rb

@ -10,6 +10,10 @@ class FavouriteService < BaseService
def call(account, status)
authorize_with account, status, :show?
favourite = Favourite.find_by(account: account, status: status)
return favourite unless favourite.nil?
favourite = Favourite.create!(account: account, status: status)
if status.local?

@ -13,6 +13,10 @@ class ReblogService < BaseService
authorize_with account, reblogged_status, :reblog?
reblog = account.statuses.find_by(reblog: reblogged_status)
return reblog unless reblog.nil?
reblog = account.statuses.create!(reblog: reblogged_status, text: '')
DistributionWorker.perform_async(reblog.id)

Loading…
Cancel
Save