Fix poll update handler calling method was that was not available (#10246)

* Fix poll update handler calling method was that was not available

Fix regression from #10209

* Refactor VoteService

* Refactor ActivityPub::DistributePollUpdateWorker and optimize it

* Fix typo

* Fix typo
This commit is contained in:
Eugen Rochko
2019-03-12 22:58:59 +01:00
committed by GitHub
parent a41afef80c
commit 9f5b55ad4f
9 changed files with 62 additions and 54 deletions

View File

@ -4,8 +4,11 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
SUPPORTED_TYPES = %w(Application Group Organization Person Service).freeze
def perform
update_account if equals_or_includes_any?(@object['type'], SUPPORTED_TYPES)
update_poll if equals_or_includes_any?(@object['type'], %w(Question))
if equals_or_includes_any?(@object['type'], SUPPORTED_TYPES)
update_account
elsif equals_or_includes_any?(@object['type'], %w(Question))
update_poll
end
end
private
@ -18,11 +21,10 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
def update_poll
return reject_payload! if invalid_origin?(@object['id'])
status = Status.find_by(uri: object_uri, account_id: @account.id)
return if status.nil? || status.poll_id.nil?
poll = Poll.find(status.poll_id)
return if poll.nil?
ActivityPub::ProcessPollService.new.call(poll, @object)
status = Status.find_by(uri: object_uri, account_id: @account.id)
return if status.nil? || status.poll.nil?
ActivityPub::ProcessPollService.new.call(status.poll, @object)
end
end