hunk.code_window: import { IPreferenceChannels } from '@novu/shared';
   import {
     GetSubscriberTemplatePreference,
     GetSubscriberTemplatePreferenceCommand,
   } from '../get-subscriber-template-preference';
   @Injectable()
   export class GetSubscriberPreference {
     constructor(
       private subscriberPreferenceRepository: SubscriberPreferenceRepository,
  
hunk.labels: keep keep keep keep add keep keep keep keep keep
hunk.after_edit: import { ANALYTICS_SERVICE } from '../../../shared/shared.module';
   import { AnalyticsService } from '../../../shared/services/analytics/analytics.service';
  
hunk.file_path: apps/api/src/app/widgets/usecases/get-subscriber-preference/get-subscriber-preference.usecase.ts
hunk.type: add
file: import { ChannelTypeEnum } from '@novu/node';
  import { PlivoSmsProvider } from '@novu/plivo';
  import { ICredentials } from '@novu/dal';
  import { BaseSmsHandler } from './base.handler';
  
  export class PlivoHandler extends BaseSmsHandler {
    constructor() {
      super('plivo', ChannelTypeEnum.SMS);
    }
    buildProvider(credentials: ICredentials) {
      const config: {
        accountSid: string;
        authToken: string;
        from: string;
      } = { accountSid: credentials.accountSid, authToken: credentials.token, from: credentials.from };
  
      this.provider = new PlivoSmsProvider(config);
    }
  }
  