diff --git a/README.md b/README.md index 2a1117c..7d8a48a 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ The `create` method is used to send web push notifications. The `data` payload m | Property | Description | Required | |---|---|---| -|`dataNotification` | The payload text for the push notification. | yes | +|`notification` | The data payload for the push notification. | yes | | `subscriptionService` | The name of the service where subscriptions are registered. | yes | | `subscriptionProperty` | The name of the key where subscriptions are regitered. It can be an array of subscriptions or a single subscription object | yes | | `subscriptionFilter` | The filter you wish to apply when retrieving subscriptions. | no | diff --git a/example/src/index.js b/example/src/index.js index 355a110..05252ce 100644 --- a/example/src/index.js +++ b/example/src/index.js @@ -103,7 +103,7 @@ window.unsubscribe = async () => { } window.sendNotification = async () => { // Setup notification params - const dataNotification = { + const notification = { title: 'feathers-webpush example title', body: 'feathers-webpush example body', icon: 'https://s3.eu-central-1.amazonaws.com/kalisioscope/kalisio/kalisio-icon-256x256.png', @@ -111,7 +111,7 @@ window.sendNotification = async () => { } // Send webpush notification api.service('push').create({ - dataNotification: dataNotification, + notification, subscriptionService: 'users', subscriptionProperty: 'subscriptions' }) diff --git a/lib/service.js b/lib/service.js index 44dc310..c76856f 100644 --- a/lib/service.js +++ b/lib/service.js @@ -29,13 +29,14 @@ export class Service { async create (data, params) { // check required data object - if (!data.dataNotification) throw new BadRequest('feathers-webpush:create: expected missing \'data.dataNotification\' parameter') + if (!data.notification) throw new BadRequest('feathers-webpush:create: expected missing \'data.notification\' parameter') if (!data.subscriptionService) throw new BadRequest('feathers-webpush:create: expected missing \'data.subscriptionService\' parameter') if (!data.subscriptionProperty) throw new BadRequest('feathers-webpush:create: expected missing \'data.subscriptionProperty\' parameter') - debug(`method 'create' called with 'dataNotification': ${data.dataNotification}, 'subscriptionService': ${data.subscriptionService}, 'subscriptionFilter': ${data.subscriptionFilter} and 'subscriptionProperty': ${data.subscriptionProperty}`) + debug(`method 'create' called with subscription service ${data.subscriptionService}, subscription property ${data.subscriptionProperty} and subscription filter:`, data.subscriptionFilter) + debug(`method 'create' called with notification payload:`, data.notification) // Set data - let { dataNotification, subscriptionService, subscriptionProperty, subscriptionFilter = {} } = data + let { notification, subscriptionService, subscriptionProperty, subscriptionFilter = {} } = data _.isEmpty(subscriptionFilter) ? subscriptionFilter = { paginate: false } : subscriptionFilter = { paginate: false, query: subscriptionFilter } // Retrieve and filter subscriptions service from specified service @@ -60,7 +61,7 @@ export class Service { if (!subscription.keys.p256dh) throw new BadRequest('feathers-webpush:create: expected missing \'subscription.keys.p256dh\' parameter') // Send webpush notification try { - const response = await webpush.sendNotification(subscription, JSON.stringify(dataNotification)) + const response = await webpush.sendNotification(subscription, JSON.stringify(notification)) debug('webpush notification send:', subscription.endpoint) webpushNotificationSend.succesful.push(response) } catch (error) { diff --git a/test/service.test.js b/test/service.test.js index e9b9ed8..46bd0ab 100644 --- a/test/service.test.js +++ b/test/service.test.js @@ -50,7 +50,7 @@ describe('feathers-webpush:service', () => { }) it('send webpush notifications', async () => { const response = await service.create({ - dataNotification: { title: 'title' }, + notification: { title: 'title' }, subscriptionService: 'users', subscriptionProperty: 'subscriptions' })