59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { IsMongoId, IsNotEmpty } from 'class-validator';
|
|
import {
|
|
DetailsAdminDiscountDto,
|
|
detailsAdminDiscountObj,
|
|
} from './discount.dto';
|
|
import { UserMidDto, userMidObj } from './user.dto';
|
|
|
|
// OBJ *******************
|
|
|
|
export function listUserDiscountObj(userDiscount) {
|
|
const user = userMidObj(userDiscount.user);
|
|
const discount = detailsAdminDiscountObj(userDiscount.discount);
|
|
|
|
return {
|
|
id: userDiscount.id,
|
|
user,
|
|
discount,
|
|
updatedAt: userDiscount.updatedAt,
|
|
createdAt: userDiscount.createdAt,
|
|
};
|
|
}
|
|
|
|
// CLASS *******************
|
|
|
|
export class ListUserDiscountDto {
|
|
@IsNotEmpty()
|
|
@ApiProperty({ type: Number })
|
|
id: number;
|
|
|
|
@IsNotEmpty()
|
|
@ApiProperty({ type: UserMidDto })
|
|
user: UserMidDto;
|
|
|
|
@IsNotEmpty()
|
|
@ApiProperty({ type: DetailsAdminDiscountDto })
|
|
discount: DetailsAdminDiscountDto;
|
|
|
|
@IsNotEmpty()
|
|
@ApiProperty({ type: Date })
|
|
createdAt: Date;
|
|
|
|
@IsNotEmpty()
|
|
@ApiProperty({ type: Date })
|
|
updatedAt: Date;
|
|
}
|
|
|
|
export class CreateUserDiscountDto {
|
|
@IsNotEmpty()
|
|
@IsMongoId({ message: 'آیدی نامعتبر است.' })
|
|
@ApiProperty({ type: String })
|
|
user: string;
|
|
|
|
@IsNotEmpty()
|
|
@IsMongoId({ message: 'آیدی نامعتبر است.' })
|
|
@ApiProperty({ type: String })
|
|
discount: string;
|
|
}
|