mirror of
https://github.com/xtr-dev/payload-notifications.git
synced 2025-12-10 10:53:23 +00:00
Refactor: Simplify notifications plugin
This commit is contained in:
@@ -188,9 +188,9 @@ export function createNotificationsCollection(options: NotificationsPluginOption
|
||||
return
|
||||
}
|
||||
|
||||
let recipientId: string
|
||||
let recipientId: string|number
|
||||
|
||||
if (typeof doc.recipient === 'string') {
|
||||
if (typeof doc.recipient === 'string' || typeof doc.recipient === 'number') {
|
||||
recipientId = doc.recipient
|
||||
} else if (doc.recipient?.id) {
|
||||
recipientId = doc.recipient.id
|
||||
|
||||
@@ -36,7 +36,7 @@ export function createPushNotificationEndpoints(options: NotificationsPluginOpti
|
||||
|
||||
const pushManager = new WebPushManager(webPushConfig, req.payload)
|
||||
await pushManager.subscribe(
|
||||
String(req.user.id),
|
||||
req.user.id,
|
||||
subscription,
|
||||
userAgent,
|
||||
channels
|
||||
|
||||
@@ -57,7 +57,7 @@ export class WebPushManager {
|
||||
* Send push notification to all active subscriptions for a recipient
|
||||
*/
|
||||
public async sendToRecipient(
|
||||
recipientId: string,
|
||||
recipientId: string|number,
|
||||
title: string,
|
||||
body: string,
|
||||
options?: {
|
||||
@@ -186,7 +186,7 @@ export class WebPushManager {
|
||||
* Subscribe a user to push notifications
|
||||
*/
|
||||
public async subscribe(
|
||||
userId: string,
|
||||
userId: string | number,
|
||||
subscription: PushSubscription,
|
||||
userAgent?: string,
|
||||
channels?: string[]
|
||||
@@ -216,15 +216,6 @@ export class WebPushManager {
|
||||
},
|
||||
})
|
||||
} else {
|
||||
console.info({
|
||||
user: userId,
|
||||
endpoint: subscription.endpoint,
|
||||
p256dh: subscription.keys.p256dh,
|
||||
auth: subscription.keys.auth,
|
||||
userAgent,
|
||||
channels,
|
||||
isActive: true,
|
||||
})
|
||||
// Create new subscription
|
||||
await this.payload.create({
|
||||
collection: 'push-subscriptions',
|
||||
|
||||
Reference in New Issue
Block a user