traintrape-moi/server/src/money-updates/dto/create-money-update.dto.ts

32 lines
1010 B
TypeScript

import { ApiProperty } from "@nestjs/swagger"
import { MoneyUpdateType } from "@prisma/client"
import { Type } from "class-transformer"
import { IsDate, IsEnum, IsInt, IsOptional, IsUUID } from "class-validator"
export class CreateMoneyUpdateDto {
@IsInt()
@Type(() => Number)
@ApiProperty({ description: "Montant de la modification de solde" })
amount: number
@IsEnum(MoneyUpdateType)
@ApiProperty({ description: "Type de modification de solde" })
reason: MoneyUpdateType
@IsOptional()
@IsInt()
@Type(() => Number)
@ApiProperty({ description: "Identifiant de la réalisation de défi, si la mise à jour est liée à un défi", nullable: true })
actionId?: number
@IsOptional()
@IsUUID()
@ApiProperty({ description: "Identifiant du trajet acheté, si la mise à jour est liée à la réservation d'un train", nullable: true })
tripId?: string
@IsDate()
@Type(() => Date)
@ApiProperty({ description: "Date et heure de la modification de solde" })
timestamp: Date
}