40 lines
1.3 KiB
TypeScript
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
|
|
}
|