import { IsString, IsOptional, IsInt, IsBoolean } from 'class-validator'; import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; export class CreatePromotionDto { @ApiProperty({ example: 'SUMMER2024' }) @IsString() code: string; @ApiProperty({ example: 'Summer Discount' }) @IsString() title: string; @ApiPropertyOptional({ example: 'Get 15% off' }) @IsOptional() @IsString() subtitle?: string; @ApiPropertyOptional({ example: 15 }) @IsOptional() @IsInt() percentOff?: number; @ApiPropertyOptional({ example: 5000 }) @IsOptional() @IsInt() amountOffMinor?: number; @ApiProperty({ example: '2026-12-31T23:59:59Z' }) @IsString() validUntil: string; @ApiPropertyOptional({ example: 'Book Now' }) @IsOptional() @IsString() ctaLabel?: string; @ApiPropertyOptional({ example: 'edr://search' }) @IsOptional() @IsString() deepLink?: string; @ApiPropertyOptional({ example: true }) @IsOptional() @IsBoolean() active?: boolean; }