hunk.code_window: import { DeactivateSimilarChannelIntegrations } from '../deactivate-integration/deactivate-integration.usecase';
   import { CheckIntegration } from '../check-integration/check-integration.usecase';
   import { CheckIntegrationCommand } from '../check-integration/check-integration.command';
   import { DisableNovuIntegration } from '../disable-novu-integration/disable-novu-integration.usecase';
   @Injectable()
   export class UpdateIntegration {
  
hunk.labels: keep keep keep replace keep keep keep
hunk.file_path: apps/api/src/app/integrations/usecases/update-integration/update-integration.usecase.ts
hunk.type: replace
file: import { ApiProperty } from '@nestjs/swagger';
  import { IsDefined, IsObject, IsOptional, IsString } from 'class-validator';
  import { ChatProviderIdEnum, PushProviderIdEnum } from '@novu/shared';
  
  import { ChannelCredentials } from '../../shared/dtos/subscriber-channel';
  
  export class UpdateSubscriberChannelRequestDto {
    @ApiProperty({
      enum: { ...ChatProviderIdEnum, ...PushProviderIdEnum },
      description: 'The provider identifier for the credentials',
    })
    @IsString()
    @IsDefined()
    providerId: ChatProviderIdEnum | PushProviderIdEnum;
  
    @ApiProperty({
      type: String,
      description: 'The integration identifier',
    })
    @IsString()
    @IsOptional()
    integrationIdentifier?: string;
  
    @ApiProperty({
      description: 'Credentials payload for the specified provider',
    })
    @IsDefined()
    @IsObject()
    credentials: ChannelCredentials;
  }
  