traintrape-moi/server/src/challenge-actions/entities/challenge-action.entity.ts
2024-12-08 13:41:37 +01:00

40 lines
1.3 KiB
TypeScript

import { ApiProperty } from "@nestjs/swagger"
import { ChallengeAction } from "@prisma/client"
import { IsOptional } from "class-validator"
export class ChallengeActionEntity implements ChallengeAction {
constructor(partial: Partial<ChallengeActionEntity>) {
Object.assign(this, partial)
}
@ApiProperty({ description: "Identifiant unique" })
id: number
@ApiProperty({ description: "Identifiant de læ joueur⋅se effectuant le défi" })
playerId: number
@ApiProperty({ description: "Identifiant du défi rattaché à l'action" })
challengeId: number
@ApiProperty({ description: "Est-ce que le défi est actuellement en train d'être réalisé" })
active: boolean
@ApiProperty({ description: "Est-ce que le défi a été réussi" })
success: boolean
@ApiProperty({ description: "Heure à laquelle le défi a été démarré" })
start: Date
@IsOptional()
@ApiProperty({ description: "Heure à laquelle le défi a été terminé", required: false, nullable: true })
end: Date
@IsOptional()
@ApiProperty({ description: "Heure à laquelle la pénalité a commencé, si applicable", required: false, nullable: true })
penaltyStart: Date
@IsOptional()
@ApiProperty({ description: "Heure à laquelle la pénalité s'est terminée, si applicable", required: false, nullable: true })
penaltyEnd: Date
}