diff options
author | ThibG <thib@sitedethib.com> | 2018-05-11 20:34:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-11 20:34:19 +0200 |
commit | da8897aaefeedf281a72f2e3b1b88ea0573e481e (patch) | |
tree | 53a6ce915f8687b15e5bd5d06a53d08ed764d3da /app/workers | |
parent | e7ed61917b045f15776adbf257501dc9dac85557 (diff) | |
parent | 45fce0e496727cd1579c630c22592638341f78c6 (diff) |
Merge pull request #477 from ThibG/glitch-soc/merge
Merge upstream changes
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/web/push_notification_worker.rb | 18 | ||||
-rw-r--r-- | app/workers/web_push_notification_worker.rb | 25 |
2 files changed, 18 insertions, 25 deletions
diff --git a/app/workers/web/push_notification_worker.rb b/app/workers/web/push_notification_worker.rb new file mode 100644 index 000000000..4a40e5c8b --- /dev/null +++ b/app/workers/web/push_notification_worker.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class Web::PushNotificationWorker + include Sidekiq::Worker + + sidekiq_options backtrace: true + + def perform(subscription_id, notification_id) + subscription = ::Web::PushSubscription.find(subscription_id) + notification = Notification.find(notification_id) + + subscription.push(notification) unless notification.activity.nil? + rescue Webpush::InvalidSubscription, Webpush::ExpiredSubscription + subscription.destroy! + rescue ActiveRecord::RecordNotFound + true + end +end diff --git a/app/workers/web_push_notification_worker.rb b/app/workers/web_push_notification_worker.rb deleted file mode 100644 index eacea04c3..000000000 --- a/app/workers/web_push_notification_worker.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -class WebPushNotificationWorker - include Sidekiq::Worker - - sidekiq_options backtrace: true - - def perform(session_activation_id, notification_id) - session_activation = SessionActivation.find(session_activation_id) - notification = Notification.find(notification_id) - - return if session_activation.web_push_subscription.nil? || notification.activity.nil? - - session_activation.web_push_subscription.push(notification) - rescue Webpush::InvalidSubscription, Webpush::ExpiredSubscription - # Subscription expiration is not currently implemented in any browser - - session_activation.web_push_subscription.destroy! - session_activation.update!(web_push_subscription: nil) - - true - rescue ActiveRecord::RecordNotFound - true - end -end |