Ajout du défi dans le retour d'une action de défi
This commit is contained in:
parent
572a04130f
commit
c82d39c009
@ -12,20 +12,31 @@ export class ChallengeActionsService {
|
||||
|
||||
async create(authenticatedUser: User, createChallengeActionDto: CreateChallengeActionDto): Promise<ChallengeAction> {
|
||||
const data = { ...createChallengeActionDto, userId: authenticatedUser.id }
|
||||
return await this.prisma.challengeAction.create({ data: data })
|
||||
return await this.prisma.challengeAction.create({
|
||||
data: data,
|
||||
include: { challenge: true },
|
||||
})
|
||||
}
|
||||
|
||||
async findAll(queryPagination?: QueryPaginationDto): Promise<[ChallengeAction[], number]> {
|
||||
return [
|
||||
await this.prisma.challengeAction.findMany({
|
||||
...paginate(queryPagination),
|
||||
include: {
|
||||
challenge: true,
|
||||
},
|
||||
}),
|
||||
await this.prisma.challenge.count(),
|
||||
]
|
||||
}
|
||||
|
||||
async findOne(id: number): Promise<ChallengeAction> {
|
||||
return await this.prisma.challengeAction.findUnique({ where: { id } })
|
||||
return await this.prisma.challengeAction.findUnique({
|
||||
where: { id },
|
||||
include: {
|
||||
challenge: true,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
async update(id: number, updateChallengeActionDto: UpdateChallengeActionDto): Promise<ChallengeAction> {
|
||||
@ -36,6 +47,8 @@ export class ChallengeActionsService {
|
||||
}
|
||||
|
||||
async remove(id: number): Promise<ChallengeAction> {
|
||||
return await this.prisma.challengeAction.delete({ where: { id } })
|
||||
return await this.prisma.challengeAction.delete({
|
||||
where: { id },
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { ApiProperty } from "@nestjs/swagger"
|
||||
import { Type } from "class-transformer"
|
||||
import { IsBoolean, IsInt } from "class-validator"
|
||||
import { IsBoolean, IsInt, IsOptional } from "class-validator"
|
||||
|
||||
export class CreateChallengeActionDto {
|
||||
@IsInt()
|
||||
@ -8,13 +8,15 @@ export class CreateChallengeActionDto {
|
||||
@ApiProperty({ description: "Identifiant du défi rattaché à l'action" })
|
||||
challengeId: number
|
||||
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
@Type(() => Boolean)
|
||||
@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 est actuellement en train d'être réalisé", default: true })
|
||||
active: boolean = true
|
||||
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
@Type(() => Boolean)
|
||||
@ApiProperty({ description: "Est-ce que le défi a été réussi" })
|
||||
success: boolean
|
||||
@ApiProperty({ description: "Est-ce que le défi a été réussi", default: false })
|
||||
success: boolean = false
|
||||
}
|
||||
|
@ -1,9 +1,13 @@
|
||||
import { ApiProperty } from "@nestjs/swagger"
|
||||
import { ChallengeAction } from "@prisma/client"
|
||||
import { ChallengeEntity } from "src/challenges/entities/challenge.entity"
|
||||
|
||||
export class ChallengeActionEntity implements ChallengeAction {
|
||||
constructor(partial: Partial<ChallengeActionEntity>) {
|
||||
Object.assign(this, partial)
|
||||
if (this.challenge) {
|
||||
this.challenge = new ChallengeEntity(this.challenge)
|
||||
}
|
||||
}
|
||||
|
||||
@ApiProperty({ description: "Identifiant unique" })
|
||||
@ -15,6 +19,9 @@ export class ChallengeActionEntity implements ChallengeAction {
|
||||
@ApiProperty({ description: "Identifiant du défi rattaché à l'action" })
|
||||
challengeId: number
|
||||
|
||||
@ApiProperty({ type: ChallengeEntity, description: "Défi rattaché à l'action", nullable: true })
|
||||
challenge?: ChallengeEntity | null
|
||||
|
||||
@ApiProperty({ description: "Est-ce que le défi est actuellement en train d'être réalisé" })
|
||||
active: boolean
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user