diff options
| author | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-03-31 19:55:00 +0900 |
|---|---|---|
| committer | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-03-31 20:33:14 +0900 |
| commit | 68a9aac9573969311dd00a44536c3ee4c05b883d (patch) | |
| tree | 7d6c502c1e2c61eb3327f678f766f23bda10c1e7 /src/server/api/common/push-sw.ts | |
| parent | Store texts as HTML (diff) | |
| download | sharkey-68a9aac9573969311dd00a44536c3ee4c05b883d.tar.gz sharkey-68a9aac9573969311dd00a44536c3ee4c05b883d.tar.bz2 sharkey-68a9aac9573969311dd00a44536c3ee4c05b883d.zip | |
Implement remote status retrieval
Diffstat (limited to 'src/server/api/common/push-sw.ts')
| -rw-r--r-- | src/server/api/common/push-sw.ts | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/server/api/common/push-sw.ts b/src/server/api/common/push-sw.ts deleted file mode 100644 index 13227af8d5..0000000000 --- a/src/server/api/common/push-sw.ts +++ /dev/null @@ -1,52 +0,0 @@ -const push = require('web-push'); -import * as mongo from 'mongodb'; -import Subscription from '../../../models/sw-subscription'; -import config from '../../../conf'; - -if (config.sw) { - // アプリケーションの連絡先と、サーバーサイドの鍵ペアの情報を登録 - push.setVapidDetails( - config.maintainer.url, - config.sw.public_key, - config.sw.private_key); -} - -export default async function(userId: mongo.ObjectID | string, type, body?) { - if (!config.sw) return; - - if (typeof userId === 'string') { - userId = new mongo.ObjectID(userId); - } - - // Fetch - const subscriptions = await Subscription.find({ - userId: userId - }); - - subscriptions.forEach(subscription => { - const pushSubscription = { - endpoint: subscription.endpoint, - keys: { - auth: subscription.auth, - p256dh: subscription.publickey - } - }; - - push.sendNotification(pushSubscription, JSON.stringify({ - type, body - })).catch(err => { - //console.log(err.statusCode); - //console.log(err.headers); - //console.log(err.body); - - if (err.statusCode == 410) { - Subscription.remove({ - userId: userId, - endpoint: subscription.endpoint, - auth: subscription.auth, - publickey: subscription.publickey - }); - } - }); - }); -} |