import { IsOptional, ValidateNested } from "class-validator";
import { Type } from "class-transformer";
import { ProductDTO } from "./product.dto";
import { PricingDTO } from "../pricing/pricing.dto";
import { StockDTO } from "../stock-levels/stock.dto";
import { ValidityDTO } from "../validity/validity.dto";

export class CreateProductDTO {
    @ValidateNested()
    @Type(() => ProductDTO)
    product: ProductDTO;

    @IsOptional()
    @ValidateNested()
    @Type(() => PricingDTO)
    pricing?: PricingDTO;

    @IsOptional()
    @ValidateNested()
    @Type(() => StockDTO)
    stock?: StockDTO;

    @IsOptional()
    @ValidateNested()
    @Type(() => ValidityDTO)
    validity?: ValidityDTO;
}
