Notification: add service to send notifications

This commit is contained in:
simon lehericey 2019-03-13 17:59:33 +01:00
parent ed6828c66c
commit 6607de4827
8 changed files with 243 additions and 1 deletions

View file

@ -0,0 +1,19 @@
class NotificationService
class << self
def send_gestionnaire_email_notification
Gestionnaire
.includes(assign_to: { procedure: :dossiers })
.where(assign_tos: { email_notifications_enabled: true })
.find_in_batches { |gestionnaires| send_batch_of_gestionnaires_email_notification(gestionnaires) }
end
private
def send_batch_of_gestionnaires_email_notification(gestionnaires)
gestionnaires
.map { |gestionnaire| [gestionnaire, gestionnaire.email_notification_data] }
.reject { |(_gestionnaire, data)| data.empty? }
.each { |(gestionnaire, data)| GestionnaireMailer.send_notifications(gestionnaire, data).deliver_later }
end
end
end