aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-06-30 16:27:37 -0700
committerAdam Soltys <[email protected]>2020-06-30 16:27:37 -0700
commitc748c1012b8bc174fb65c72100b6a35dc100b0ac (patch)
tree9d845444cfcd71266b2da2d167fedaa72a52d432
parent5e3846b7b8ad2e0fe11cade9c28a1fb0a3322b5d (diff)
downloadcoinos-server-c748c1012b8bc174fb65c72100b6a35dc100b0ac.tar.gz
coinos-server-c748c1012b8bc174fb65c72100b6a35dc100b0ac.zip
remove expired subscriptions
-rw-r--r--lib/notifications.js9
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);
+ }
}
});
}