first
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
import { Expose } from "class-transformer";
|
||||
import { IsNotEmpty, IsNumber, IsOptional, Min } from "class-validator";
|
||||
|
||||
import { ApiProperty } from "../../../common/decorator/swggerDocs";
|
||||
import { IsValidId } from "../../../common/decorator/validation.decorator";
|
||||
import { ColorModel } from "../../category/models/color.model";
|
||||
import { MeterageModel } from "../../category/models/meterage.model";
|
||||
import { SizeModel } from "../../category/models/size.model";
|
||||
import { WarrantyModel } from "../../warranty/models/warranty.model";
|
||||
// import { ShipmentModel } from "../../../models/shipment.model";
|
||||
|
||||
export class AddVariantDTO {
|
||||
// @Expose()
|
||||
// @IsNotEmpty()
|
||||
// @IsValidId(WarrantyModel)
|
||||
// @ApiProperty({ type: "number", description: "product id", example: 100002 })
|
||||
// productId: number;
|
||||
|
||||
@Expose()
|
||||
@IsOptional()
|
||||
@IsNotEmpty()
|
||||
@IsValidId(ColorModel)
|
||||
@ApiProperty({ type: "number", description: "color id ==> one of color,size or meterage should send", example: 1 })
|
||||
colorId?: number;
|
||||
|
||||
@Expose()
|
||||
@IsOptional()
|
||||
@IsNotEmpty()
|
||||
@IsValidId(SizeModel)
|
||||
@ApiProperty({ type: "number", description: "size id ==> one of color,size or meterage should send", example: 5 })
|
||||
sizeId?: number;
|
||||
|
||||
@Expose()
|
||||
@IsOptional()
|
||||
@IsNotEmpty()
|
||||
@IsValidId(MeterageModel)
|
||||
@ApiProperty({ type: "number", description: "meterage id ==> one of color,size or meterage should send", example: 5 })
|
||||
meterageId?: number;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@IsValidId(WarrantyModel)
|
||||
@ApiProperty({ type: "number", description: "warranty id of the product", example: 102 })
|
||||
warrantyId: number;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@IsNumber()
|
||||
@ApiProperty({ type: "number", description: "maximum number of product can purchase in one order", example: 2 })
|
||||
order_limit: number;
|
||||
|
||||
//
|
||||
@Expose()
|
||||
@IsOptional()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "string", description: "special code of product for seller only", example: "FPHK10" })
|
||||
sellerSpecialCode?: string;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@Min(10000, { message: "حداقل قیمت برای کالا ۱۰۰۰۰ تومان می باشد " })
|
||||
@IsNumber()
|
||||
@ApiProperty({ type: "number", description: "the price of product in toman", example: 5432510 })
|
||||
retail_price: number;
|
||||
|
||||
//Dimensions
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "number", description: "the weight of product package in gram", example: 250 })
|
||||
package_weight: number;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "number", description: "the height of product package in cm", example: 25 })
|
||||
package_height: number;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "number", description: "the length of product package in cm", example: 45 })
|
||||
package_length: number;
|
||||
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "number", description: "the width of product package in cm", example: 10 })
|
||||
package_width: number;
|
||||
|
||||
// @Expose()
|
||||
// @IsNotEmpty()
|
||||
// @IsArray()
|
||||
// @IsNumber({}, { each: true })
|
||||
// // @IsValidId(ShipmentModel)
|
||||
// @ApiProperty({ type: "Array", description: "the array of shipment provider", example: [101, 102] })
|
||||
// shipmentsId: number[];
|
||||
//
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@ApiProperty({ type: "number", description: "the time take to ship product quantity of product in day", example: 10 })
|
||||
postingTime: number;
|
||||
|
||||
//
|
||||
@Expose()
|
||||
@IsNotEmpty()
|
||||
@IsNumber()
|
||||
@ApiProperty({ type: "number", description: "the stock quantity of product", example: 10 })
|
||||
stock: number;
|
||||
}
|
||||
Reference in New Issue
Block a user