import { IsNotEmpty, IsNumber, IsString, IsOptional } from 'class-validator';
import { Transform, Type } from 'class-transformer';
import { Types } from 'mongoose';
import { toMongoObjectId } from '../../utils/validation';

export class CreateQuoteDto {
  // @IsString()
  // readonly total;

  // @IsNumber()
  // @IsNotEmpty()
  // distance: number;

  // @IsNumber()
  // @IsNotEmpty()
  // duration: number;

  @IsString()
  readonly comment;

  @IsOptional()
  readonly order?: any[];

  @IsOptional()
  readonly colors?: { label: string; name: string }[];

  @IsOptional()
  @IsNumber()
  readonly totalPrice?: number;

  @IsOptional()
  readonly profile?: any;

  @IsString()
  readonly innerprice;

  @IsString()
  readonly projectName;

  @IsOptional()
  @IsNumber()
  readonly number;

  @IsNotEmpty()
  @Type(() => Types.ObjectId)
  @Transform(toMongoObjectId)
  readonly project;
}
