hunk.code_window:   @Input() subscriberHash: NotificationCenterComponentProps['subscriberHash'];
     @Input() stores: NotificationCenterComponentProps['stores'];
     @Input() tabs: NotificationCenterComponentProps['tabs'];
     @Input() showUserPreferences: NotificationCenterComponentProps['showUserPreferences'];
     @Input() popover: NotificationCenterComponentProps['popover'];
     @Input() theme: NotificationCenterComponentProps['theme'];
     @Input() styles: NotificationCenterComponentProps['styles'];
  
hunk.labels: keep keep keep add keep keep keep
hunk.after_edit:   @Input() allowedNotificationActions: NotificationCenterComponentProps['allowedNotificationActions'];
  
hunk.file_path: packages/notification-center-angular/projects/notification-center-angular/src/lib/notification-center.component.ts
hunk.type: add
file: import { IntegrationEntity } from '@novu/dal';
  import { ISmsFactory, ISmsHandler } from './interfaces';
  import {
    SnsHandler,
    TelnyxHandler,
    TwilioHandler,
    Sms77Handler,
    TermiiSmsHandler,
    PlivoHandler,
    GupshupSmsHandler,
  } from './handlers';
  
  export class SmsFactory implements ISmsFactory {
    handlers: ISmsHandler[] = [
      new SnsHandler(),
      new TelnyxHandler(),
      new TwilioHandler(),
      new Sms77Handler(),
      new TermiiSmsHandler(),
      new PlivoHandler(),
      new GupshupSmsHandler(),
    ];
  
    getHandler(integration: IntegrationEntity): ISmsHandler {
      try {
        const handler =
          this.handlers.find((handlerItem) =>
            handlerItem.canHandle(integration.providerId, integration.channel)
          ) ?? null;
  
        if (!handler) return null;
  
        handler.buildProvider(integration.credentials);
  
        return handler;
      } catch (error) {
        throw new Error(
          `Could not build mail handler id: ${integration._id}, error: ${error}`
        );
      }
    }
  }
  