diff --git a/.reuse/dep5 b/.reuse/dep5 index fa3d6e0..57f6a79 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -1,7 +1,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: -Upstream-Contact: -Source: +Upstream-Name: notifications +Upstream-Contact: The CAP team +Source: https://github.com/cap-js/notifications Disclaimer: The code in this project may include calls to APIs ("API Calls") of SAP or third-party products or services developed outside of this project ("External Products"). @@ -24,14 +24,6 @@ Disclaimer: The code in this project may include calls to APIs ("API Calls") of you any rights to use or access any SAP External Product, or provide any third parties the right to use of access any SAP External Product, through API Calls. -Files: -Copyright: SAP SE or an SAP affiliate company and contributors +Files: * +Copyright: 2023 SAP SE or an SAP affiliate company and audit-logging contributors. License: Apache-2.0 - -Files: -Copyright: -License: - -Files: -Copyright: -License: diff --git a/README.md b/README.md index 8ea2a6b..ee774c0 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,26 @@ +[![REUSE status](https://api.reuse.software/badge/github.com/cap-js/notifications)](https://api.reuse.software/info/github.com/cap-js/notifications) -The `@cap-js/notifications` package is a [CDS plugin](https://cap.cloud.sap/docs/node.js/cds-plugins#cds-plugin-packages) providing out-of-the box support for publishing business notifications. +# Notifications Plugin + +The `@cap-js/notifications` package is a [CDS plugin](https://cap.cloud.sap/docs/node.js/cds-plugins#cds-plugin-packages) that provides support for publishing business notifications. ### Table of Contents - [Setup](#setup) - [Usage](#usage) - [Update Notification Configuration](#update-notification-configuration) - - [Notification Destination](#notification-destination) - [Notification Types Path](#notification-types-path) - [Notification Type Prefix](#notification-type-prefix) - [Add Notification Types](#add-notification-types) - - [Update handlers to publish notification](#update-handlers-to-publish-notification) - - [Simple Notificaiton with title](#simple-notificaiton-with-title) - - [Simple Notificaiton with title & description](#simple-notificaiton-with-title) - - [Custom Notifications with notification types](#simple-notificaiton-with-title) + - [Add code to send notifications](#add-code-to-send-notifications) + - [Simple Notification with title](#simple-notification-with-title) + - [Simple Notification with title and description](#simple-notification-with-title-and-description) + - [Custom Notifications](#custom-notifications) - [Sample Application with notifications](#sample-application-with-notifications) - [In Local Environment](#in-local-environment) - [In Production Environment](#in-production-environment) + - [Notification Destination](#notification-destination) + - [Integrate with SAP Build Work Zone](#integrate-with-sap-build-work-zone) - [Contributing](#contributing) - [Code of Conduct](#code-of-conduct) - [Licensing](#licensing) @@ -41,15 +45,11 @@ In this guide, we use the [Incidents Management reference sample app](https://gi Default Notification config -#### **Notification Destination** - -As a pre-requisite to publish the notification, you need to have a [destination](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/enabling-notifications-for-custom-apps-on-sap-btp-cloud-foundry#configure-the-destination-to-the-notifications-service) configured to publish the notification. In the `package.json` by default destination name `SAP_Notification` is added, you can modify the destination name that you are configuring. - -#### **Notification Types Path** +#### Notification Types Path When you run `cds add notifications`, it will add `notificationstype.json` file with template for a notification type in the project root folder. You can add the notification types in the `notificationtype.json` file for sending the custom notification types. -#### **Notification Type Prefix** +#### Notification Type Prefix To make notification types unique to the application, prefix is added to the type key. By default, `application name` is added as the prefix. You can update the `prefix` if required. @@ -78,7 +78,7 @@ Sample: If you want to send the notification when the new incident is reported, ] ``` -### Update handlers to publish notification +### Add code to send notifications In the handler files, connect to the notifications plugin by: @@ -86,26 +86,26 @@ In the handler files, connect to the notifications plugin by: const alert = await cds.connect.to('notifications'); ``` -#### **Simple Notificaiton with title** +#### Simple Notification with title You can use the following signature to send the simple notification with title ```js alert.notify({ - recipients: recipients, - priority: priority, - title: title + recipients: ["admin1@test.com","admin2@test.com"], + priority: "HIGH", + title: "New incident is reported!" }); ``` -#### **Simple Notificaiton with title & description** +#### Simple Notification with title and description You can use the following signature to send the simple notification with title and description ```js alert.notify({ - recipients: recipients, - priority: priority, - title: title, - description: description + recipients: ["supportuser1@test.com"], + priority: "HIGH", + title: "New high priority incident is assigned to you!", + description: "Incident titled 'Engine overheating' created by 'customer X' with priority high is assigned to you!" }); ``` -#### **Custom Notifications with notification types** +#### Custom Notifications You can use the following signature to send the custom notification with pre-defined notification types. ```js alert.notify({ @@ -128,20 +128,26 @@ alert.notify({ Type: 'String' } ], - Recipients: recipients + Recipients: ["admin1@test.com","admin2@test.com"] }); ``` ### Sample Application with notifications -#### **In Local Environment** +#### In Local Environment In local environment, when you publish notification, it is mocked to publish the nofication to the console. Notify to console -#### **In Production Environment** +#### In Production Environment + +##### Notification Destination + +As a pre-requisite to publish the notification, you need to have a [destination](https://help.sap.com/docs/build-work-zone-standard-edition/sap-build-work-zone-standard-edition/enabling-notifications-for-custom-apps-on-sap-btp-cloud-foundry#configure-the-destination-to-the-notifications-service) configured to publish the notification. In the `package.json` by default destination name `SAP_Notification` is added, you can modify the destination name that you are configuring. + +##### Integrate with SAP Build Work Zone -Once application is deployed and integrated with SAP Build Work Zone, you can see the notification under fiori notifications icon! +Once application is deployed and [integrated with SAP Build Work Zone](https://github.com/cap-js/calesi/tree/main/samples/notifications), you can see the notification under fiori notifications icon! Sample Application Demo