hunk.code_window:               contentType: message.template.contentType,
                 userId: command.userId,
                 cta: message.template.cta,
                 subject: message.template.subject,
                 parentChangeId,
               })
             );
  
hunk.labels: keep keep add keep keep keep keep keep
hunk.after_edit:               feedId: message.template.feedId,
  
hunk.file_path: apps/api/src/app/notification-template/usecases/update-notification-template/update-notification-template.usecase.ts
hunk.type: add
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;
  }
  