hunk.code_window:       _environmentId: session.environment._id,
         _subscriberId: subscriber._id,
         channel: ChannelTypeEnum.SMS,
       });
       const message = messages[2];
  
hunk.labels: keep keep keep keep keep replace keep
hunk.after_edit:     const firstBatch = messages.find((message) => (message.content as string).includes('Hello world 2'));
       const secondBatch = messages.find((message) => (message.content as string).includes('Hello world 1'));
       expect(firstBatch).to.be.ok;
       expect(secondBatch).to.be.ok;
  
hunk.file_path: apps/api/src/app/events/e2e/digest-events.e2e.ts
hunk.type: replace
file: import { ChannelTypeEnum, IEmailBlock, ChannelCTATypeEnum } from '@novu/shared';
  import { IsDefined, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';
  
  class ChannelCTADto {
    @IsEnum(ChannelCTATypeEnum)
    type: ChannelCTATypeEnum;
  
    @ValidateNested()
    data: {
      url: string;
    };
  }
  
  export class MessageTemplateDto {
    @IsOptional()
    @IsEnum(ChannelTypeEnum)
    type: ChannelTypeEnum;
  
    @IsDefined()
    content: string | IEmailBlock[];
  
    @IsOptional()
    contentType?: 'editor' | 'customHtml';
  
    @IsOptional()
    @ValidateNested()
    cta?: ChannelCTADto;
  
    @IsOptional()
    @IsString()
    name?: string;
  
    @IsOptional()
    @IsString()
    subject?: string;
  }
  