FIX: de-duplicate push subscriptions - ensure unique user/key

This commit is contained in:
Jeff Wong
2018-05-08 15:14:58 -07:00
parent 2c4da30f1b
commit 7f1f697e97
2 changed files with 55 additions and 1 deletions

View File

@@ -33,7 +33,13 @@ class PushNotificationPusher
end
def self.subscribe(user, subscription, send_confirmation)
PushSubscription.create user: user, data: subscription.to_json
subscriptions = PushSubscription.where(user: user, data: subscription.to_json)
if subscriptions.length > 1
subscriptions.destroy_all
PushSubscription.create user: user, data: subscription.to_json
elsif subscriptions.length == 0
PushSubscription.create user: user, data: subscription.to_json
end
if send_confirmation == "true"
message = {
title: I18n.t("discourse_push_notifications.popup.confirm_title",