|
|
@ -41,6 +41,10 @@ class ProcessInteractionService < BaseService |
|
|
|
add_post!(body, account) unless status(xml).nil? |
|
|
|
when :delete |
|
|
|
delete_post!(xml, account) |
|
|
|
when :block |
|
|
|
reflect_block!(account, target_account) |
|
|
|
when :unblock |
|
|
|
reflect_unblock!(account, target_account) |
|
|
|
end |
|
|
|
end |
|
|
|
rescue Goldfinger::Error, HTTP::Error, OStatus2::BadSalmonError |
|
|
@ -74,6 +78,15 @@ class ProcessInteractionService < BaseService |
|
|
|
account.unfollow!(target_account) |
|
|
|
end |
|
|
|
|
|
|
|
def reflect_block!(account, target_account) |
|
|
|
UnfollowService.new.call(target_account, account) if target_account.following?(account) |
|
|
|
account.block!(target_account) |
|
|
|
end |
|
|
|
|
|
|
|
def reflect_unblock!(account, target_account) |
|
|
|
UnblockService.new.call(account, target_account) |
|
|
|
end |
|
|
|
|
|
|
|
def delete_post!(xml, account) |
|
|
|
status = Status.find(xml.at_xpath('//xmlns:id', xmlns: TagManager::XMLNS).content) |
|
|
|
|
|
|
|