Files
dlearn-api/src/DTO/userDiscount.dto.ts
T
2024-10-10 16:58:55 +03:30

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;
}