import { IsNotEmpty,IsDateString, IsNumberString, IsString,ArrayMinSize, Matches,Length,ArrayNotEmpty, IsOptional,IsArray,ValidateNested,Validate, IsDate} from 'class-validator'; import { Type } from 'class-transformer'; export class CreateDiscountDto { @IsNotEmpty({ message: 'شناسه فروشگاه نباید خالی باشد' }) @IsString({ message: 'شناسه فروشگاه باید شامل متن باشد' }) Shop: string; @IsNotEmpty({ message: 'نوع تخفیف نباید خالی باشد' }) @IsString({ message: 'نوع تخفیف باید شامل متن باشد' }) Type: string; @IsNotEmpty({ message: 'شناسه محصول نباید خالی باشد' }) @IsString({ message: 'شناسه محصول باید شامل متن باشد' }) Product: string; @IsNotEmpty({ message: 'توضیحات تخفیف نباید خالی باشد' }) @IsString({ message: 'توضیحات تخفیف باید شامل متن باشد' }) @Length(0, 250, { message: 'طول توضیحات تخفیف حداکثر 250 حرف می تواند باشد' }) Description: string; @IsNotEmpty({ message: 'تاریخ شروع نباید خالی باشد' }) @IsDateString({},{ message: 'تاریخ شروع باید به فرمت تاریخ باشد' }) Start: string; @IsNotEmpty({ message: 'تاریخ پایان نباید خالی باشد' }) @IsDateString({},{ message: 'تاریخ پایان باید به فرمت تاریخ باشد' }) End: string; @IsNotEmpty({ message: 'ساعت شروع نباید خالی باشد' }) @Matches(/^([01]\d|2[0-3]):([0-5]\d)$/, { message: 'فرمت تایم شروع صحیح نیست', }) StartTime: string; @IsNotEmpty({ message: 'ساعت پایان نباید خالی باشد' }) @Matches(/^([01]\d|2[0-3]):([0-5]\d)$/, { message: 'فرمت تایم پایان صحیح نیست', }) EndTime: string; @IsNotEmpty({ message: 'شعاع ارسال اعلان نباید خالی باشد' }) @IsNumberString({},{ message: 'شعاع ارسال اعلان باید شامل عدد باشد' }) Radius: number; }