From df63461ff091f6b513c797d010f82dee73f437b2 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Sun, 12 Feb 2017 19:50:18 +0100
Subject: [PATCH] Add handler for salmons of undoing favourites

---
 app/services/process_interaction_service.rb | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/services/process_interaction_service.rb b/app/services/process_interaction_service.rb
index 8420ca3519..c74ff9e22f 100644
--- a/app/services/process_interaction_service.rb
+++ b/app/services/process_interaction_service.rb
@@ -39,6 +39,8 @@ class ProcessInteractionService < BaseService
         unfollow!(account, target_account)
       when :favorite
         favourite!(xml, account)
+      when :unfavorite
+        unfavourite!(xml, account)
       when :post
         add_post!(body, account) if mentions_account?(xml, target_account)
       when :share
@@ -121,6 +123,12 @@ class ProcessInteractionService < BaseService
     NotifyService.new.call(current_status.account, favourite)
   end
 
+  def unfavourite!(xml, from_account)
+    current_status = status(xml)
+    favourite = current_status.favourites.where(account: from_account).first
+    favourite&.destroy
+  end
+
   def add_post!(body, account)
     process_feed_service.call(body, account)
   end
-- 
GitLab