48 lines
1020 B
TypeScript
48 lines
1020 B
TypeScript
import { GoodPricingModel, UnitType } from '@/generated/prisma/enums'
|
|
import { ApiProperty, PartialType } from '@nestjs/swagger'
|
|
import { IsEnum, IsNumber, IsOptional, IsString } from 'class-validator'
|
|
|
|
export class CreateGoodDto {
|
|
@IsString()
|
|
@ApiProperty()
|
|
name: string
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@ApiProperty({ required: false })
|
|
description?: string
|
|
|
|
@IsString()
|
|
@ApiProperty()
|
|
sku: string
|
|
|
|
@IsString()
|
|
@ApiProperty()
|
|
local_sku: string
|
|
|
|
@IsEnum(UnitType)
|
|
@ApiProperty({ required: true, enum: UnitType })
|
|
unit_type: UnitType
|
|
|
|
@IsEnum(GoodPricingModel)
|
|
@ApiProperty({ required: true, enum: GoodPricingModel })
|
|
pricing_model: GoodPricingModel
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@ApiProperty({ required: false })
|
|
barcode?: string
|
|
|
|
@IsOptional()
|
|
@IsString()
|
|
@ApiProperty({ required: false })
|
|
category_id?: string
|
|
|
|
@IsOptional()
|
|
@IsNumber()
|
|
@ApiProperty({ required: false })
|
|
base_sale_price?: number
|
|
}
|
|
|
|
export class UpdateGoodDto extends PartialType(CreateGoodDto) {}
|