hunk.code_window:   @IsDefined()
     @IsEnum(SubscriberSourceEnum)
     _subscriberSource: SubscriberSourceEnum;
     @IsDefined()
     @IsEnum(TriggerRequestCategoryEnum)
  
hunk.labels: keep keep keep keep keep replace keep
hunk.after_edit:   @IsOptional()
  
hunk.file_path: packages/application-generic/src/usecases/subscriber-job-bound/subscriber-job-bound.command.ts
hunk.type: replace
file: import {
    ISubscribersDefine,
    ITenantDefine,
    SubscriberSourceEnum,
    TriggerRequestCategoryEnum,
  } from '@novu/shared';
  import { SubscriberEntity } from '@novu/dal';
  
  import {
    IBulkJobParams,
    IJobParams,
  } from '../services/queues/queue-base.service';
  
  export interface IProcessSubscriberDataDto {
    environmentId: string;
    organizationId: string;
    userId: string;
    transactionId: string;
    identifier: string;
    payload: any;
    overrides: Record<string, Record<string, unknown>>;
    tenant?: ITenantDefine;
    actor?: SubscriberEntity;
    subscriber: ISubscribersDefine;
    templateId: string;
    _subscriberSource: SubscriberSourceEnum;
    requestCategory: TriggerRequestCategoryEnum;
  }
  
  export interface IProcessSubscriberJobDto extends IJobParams {
    data?: IProcessSubscriberDataDto;
  }
  
  export interface IProcessSubscriberBulkJobDto extends IBulkJobParams {
    data: IProcessSubscriberDataDto;
  }
  