This is a Node.js backend service library to create a BFF service for the Notification Widget. The widget provides a notification. This service is matched by a corresponding UI.
There is a demo service, see below for instructions on running it.
Then install (you will need to be on the digipolis network):
> npm install @acpaas-ui-widgets/nodejs-notification
const express = require('express');
const app = express()
const router = express.Router();
/**
* Import the notification module
*/
const notificationModule = require('@acpaas-ui-widgets/nodejs-notification-widget/src/notification');
/**
* Create the notification router.
* Get an API key from de API Store
*/
const notificationRouter = notificationModule.notificationRouter({
API_KEY: process.env.API_KEY,
NOTIFICATION_API: process.env.NOTIFICATION_API,
});
/**
* Use the router
*/
router.use('/api/v1/notifications', notificationRouter);
app.use('', router);
app.listen(3000);
const express = require('express');
const app = express()
const router = express.Router();
/**
* Import the notification module
*/
const notificationModule = require('@acpaas-ui-widgets/nodejs-notification-widget/src/notification');
/**
* Create the notification controller.
* Get an API key from de API Store
*/
const notificationController = notificationModule.notificationController({API_KEY:process.env.API_KEY, NOTIFICATION_API: process.env.NOTIFICATION_API});
/**
* Add the GET requests
*/
router.get(`/`, notificationController.getAllInAppMessages);
router.get(`/overview`, notificationController.getAllInAppMessagesUnreadCount);
/**
* Add the PATCH requests
*/
router.patch(`/:messageId`, notificationController.setInAppMessageStatus);
/**
* Add the Delete requests
*/
router.delete(`/:messageId`, notificationController.deleteInAppMessage);
app.use('', router);
app.listen(3000);
Create a .env file containing:
PORT=3002
API_KEY=<client id>
NOTIFICATON_API='https://api-gw-a.antwerpen.be/acpaas/in-app-notification/v2/'
(Remove the -a extension in the URL's to use the production api.)
Run the service:
> npm install
> npm start
Run the test suite:
> npm run test
(Coverage file generated in the coverage folder)
Specifications described in the postman collection. Use the collection to call the demo api.
We welcome your bug reports and pull requests.
Please see our contribution guide.
Joeri Sebrechts (joeri.sebrechts@digipolis.be)
This project is published under the MIT license.