Refactor: Simplify notifications plugin

This commit is contained in:
2025-09-28 16:26:43 +02:00
parent 9f78d3ef72
commit c0e2177d71
9 changed files with 128 additions and 208 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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',