import { IsBoolean, IsDate, IsNumber, IsNumberString, IsPositive, IsString } from "class-validator";
import { CartStatusEnum } from "../../../enums/cart-status.enum";
import { CartItem } from "../../../schemas/cart.schema";

export class CartHdDto {
    @IsNumberString()
    id: string;

    @IsBoolean()
    isCheckoutable: boolean;

    @IsNumberString()
    referenceId: string;

    items: CartItem[];

    @IsNumber()
    @IsPositive()
    itemCount: number;

    @IsString()
    cartStatus: CartStatusEnum;

    @IsString()
    currencyCode: string;

    @IsDate()
    expirationTime: Date;

    @IsNumber({ maxDecimalPlaces: 2 })
    subtotal: number;
}
