diff options
| author | Adam Soltys <[email protected]> | 2020-06-30 16:27:37 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-06-30 16:27:37 -0700 |
| commit | c748c1012b8bc174fb65c72100b6a35dc100b0ac (patch) | |
| tree | 9d845444cfcd71266b2da2d167fedaa72a52d432 /lib | |
| parent | 5e3846b7b8ad2e0fe11cade9c28a1fb0a3322b5d (diff) | |
| download | coinos-server-c748c1012b8bc174fb65c72100b6a35dc100b0ac.tar.gz coinos-server-c748c1012b8bc174fb65c72100b6a35dc100b0ac.zip | |
remove expired subscriptions
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/notifications.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/notifications.js b/lib/notifications.js index 710a5bfe..b1c4b05f 100644 --- a/lib/notifications.js +++ b/lib/notifications.js @@ -12,11 +12,16 @@ notify = (user, payload) => { let { subscriptions } = user; if (subscriptions) { - subscriptions.map(async subscription => { + subscriptions.map(async (subscription, i) => { try { await webpush.sendNotification(subscription, payload); } catch (e) { - l.error("problem sending notification", e); + if (e.body && e.body.includes('expired')) { + user.subscriptions.splice(i, 1); + await user.save(); + } else { + l.error("problem sending notification", e); + } } }); } |
