32 lines
1010 B
TypeScript
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
|
|
}
|