46 lines
964 B
TypeScript
46 lines
964 B
TypeScript
import { BaseDto } from 'src/core/modules/infrastructure/dto/base.dto';
|
|
import { VipCodeEntity } from '../../domain/entities/vip-code.entity';
|
|
import { IsNumber, IsObject, IsString, ValidateIf } from 'class-validator';
|
|
import { ApiProperty } from '@nestjs/swagger';
|
|
|
|
export class VipCodeDto extends BaseDto implements VipCodeEntity {
|
|
@ApiProperty({
|
|
name: 'code',
|
|
type: String,
|
|
required: true,
|
|
example: '0824A12',
|
|
})
|
|
@IsString()
|
|
code: string;
|
|
|
|
@ApiProperty({
|
|
name: 'discount',
|
|
type: Number,
|
|
required: false,
|
|
example: 85,
|
|
})
|
|
@IsNumber()
|
|
discount: number;
|
|
|
|
@ApiProperty({
|
|
name: 'discount_value',
|
|
type: Number,
|
|
required: false,
|
|
example: 25000,
|
|
})
|
|
@IsNumber()
|
|
@ValidateIf((v) => v.discount_value)
|
|
discount_value: number;
|
|
|
|
@ApiProperty({
|
|
name: 'vip_category',
|
|
type: Object,
|
|
required: true,
|
|
example: {
|
|
id: 'uuid',
|
|
},
|
|
})
|
|
@IsObject()
|
|
vip_category: VipCodeEntity;
|
|
}
|