* Add bell button Fix #4890 * Remove duplicate type from post-deployment migration * Fix legacy class type mappings * Improve query performance with better index * Fix validation * Remove redundant index from notifications
		
			
				
	
	
		
			25 lines
		
	
	
		
			614 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			614 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
class PollExpirationNotifyWorker
 | 
						|
  include Sidekiq::Worker
 | 
						|
 | 
						|
  sidekiq_options lock: :until_executed
 | 
						|
 | 
						|
  def perform(poll_id)
 | 
						|
    poll = Poll.find(poll_id)
 | 
						|
 | 
						|
    # Notify poll owner and remote voters
 | 
						|
    if poll.local?
 | 
						|
      ActivityPub::DistributePollUpdateWorker.perform_async(poll.status.id)
 | 
						|
      NotifyService.new.call(poll.account, :poll, poll)
 | 
						|
    end
 | 
						|
 | 
						|
    # Notify local voters
 | 
						|
    poll.votes.includes(:account).map(&:account).select(&:local?).each do |account|
 | 
						|
      NotifyService.new.call(account, :poll, poll)
 | 
						|
    end
 | 
						|
  rescue ActiveRecord::RecordNotFound
 | 
						|
    true
 | 
						|
  end
 | 
						|
end
 |