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 }