import { IsString, IsNotEmpty, IsUrl, IsOptional } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';

export class AnalyzeVisualDto {
  @ApiProperty({
    description: 'The URL of the ad creative image/video | رابط الصورة أو الفيديو الإعلاني',
    example: 'https://example.com/ad-image.jpg',
  })
  @IsUrl()
  @IsNotEmpty()
  imageUrl: string;

  @ApiProperty({
    description: 'The primary ad text/copy | النص الإعلاني الأساسي',
    example: 'Get 50% off on all winter wear!',
    required: false,
  })
  @IsString()
  @IsOptional()
  adCopy?: string;

  @ApiProperty({
    description: 'Optional performance metrics for the ad | مقاييس الأداء الاختيارية للإعلان',
    required: false,
  })
  @IsOptional()
  metrics?: any;

  @ApiProperty({
    description: 'The ID of the campaign | معرف الحملة',
    required: false,
  })
  @IsString()
  @IsOptional()
  campaignId?: string;
}
