about summary refs log tree commit diff
path: root/app/services/send_push_notification_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/send_push_notification_service.rb')
-rw-r--r--app/services/send_push_notification_service.rb28
1 files changed, 0 insertions, 28 deletions
diff --git a/app/services/send_push_notification_service.rb b/app/services/send_push_notification_service.rb
deleted file mode 100644
index 526ae20cb..000000000
--- a/app/services/send_push_notification_service.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-# frozen_string_literal: true
-
-class SendPushNotificationService < BaseService
-  def call(notification)
-    return if ENV['FCM_API_KEY'].blank?
-
-    devices = Device.where(account: notification.account).pluck(:registration_id)
-    fcm     = FCM.new(ENV['FCM_API_KEY'])
-
-    response = fcm.send(devices, data: { notification_id: notification.id }, collapse_key: :notifications, priority: :high)
-    handle_response(response)
-  end
-
-  private
-
-  def handle_response(response)
-    update_canonical_ids(response[:canonical_ids]) if response[:canonical_ids]
-    remove_bad_ids(response[:not_registered_ids])  if response[:not_registered_ids]
-  end
-
-  def update_canonical_ids(ids)
-    ids.each { |pair| Device.find_by(registration_id: pair[:old]).update(registration_id: pair[:new]) }
-  end
-
-  def remove_bad_ids(bad_ids)
-    Device.where(registration_id: bad_ids).delete_all unless bad_ids.empty?
-  end
-end