/
SB-Notification library

SB-Notification library

Background

The notification feature is being used by both mobile and the portal. The same boilerplate code is there in both, so to reduce the boilerplate code “sb-notification“ library is created.

Implementation

export interface SbNotificationService { getNotifications(): Promise<NotificationFeedEntry<Notification>; handleNotification(notificationData: EventNotification): void; deleteNotification(notificationData: EventNotification): Promise<boolean>; clearAllNotifications(notificationListData: EventNotificationList): Promise<boolean>; }
  • The library requires NotificationService implementation to handle all the notification functionality.

  • It's the client’s responsibility to provide all the data required by the “sb-notiifcation” library to perform an action on the notifications.

Methods

  • getNotifications: Required to render the notification list

  • handleNotification: Required to handle the notification

  • deleteNotification: Required to delete a notification

  • clearAllNotifications: Required to clear all the notifications

Usage

Create a class that implements NotificationService from the notification library.

@Injectable({ providedIn: 'root' }) export class NotificationServiceImpl implements NotificationService { getNotifications(): Promise<NotificationFeedEntry<Notification>[]> { // Business logic to get the notification } handleNotification(notificationData: any) { // Business logic to handle notifications } deleteNotification(notificationData): Promise<boolean> { // Business logic to delete a notification } clearAllNotifications(notificationListData: any): Promise<boolean> { // Business logic to clear all notifications } }

In the app module import the NotificationModule and declare NotificationServiceImpl as a provider like following

@NgModule({ declarations: [ AppComponent ], imports: [ ... NotificationModule ... ], entryComponents: [AppComponent], bootstrap: [AppComponent], providers: [ ... { provide: 'NOTIFICATION_SERVICE', useClass: NotificationServiceImpl } ... ] })

Related content

Implementation Design for Notification Service
Implementation Design for Notification Service
More like this
Notification Service
Notification Service
More like this
FCM Notification Flow
FCM Notification Flow
More like this
In app notifications
In app notifications
More like this
Local Notification Configuration Data Structure
Local Notification Configuration Data Structure
More like this