From 5e810202bb46df051727e656d05b3e19b3480b32 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Mon, 15 Dec 2025 15:33:14 +0100 Subject: [PATCH] Refactor challenge access checks and update text encoding: Remove unnecessary session variable in update and delete challenge functions. Update text in ChallengeManagement and ChallengesSection components for proper HTML encoding, enhancing display consistency. --- actions/admin/challenges.ts | 4 ++-- components/admin/ChallengeManagement.tsx | 4 ++-- components/challenges/ChallengesSection.tsx | 4 ++-- services/challenges/challenge.service.ts | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/actions/admin/challenges.ts b/actions/admin/challenges.ts index de5073e..268b4d0 100644 --- a/actions/admin/challenges.ts +++ b/actions/admin/challenges.ts @@ -97,7 +97,7 @@ export async function updateChallenge( } ) { try { - const session = await checkAdminAccess() + await checkAdminAccess() const challenge = await challengeService.updateChallenge(challengeId, { title: data.title, @@ -128,7 +128,7 @@ export async function updateChallenge( export async function deleteChallenge(challengeId: string) { try { - const session = await checkAdminAccess() + await checkAdminAccess() await challengeService.deleteChallenge(challengeId) diff --git a/components/admin/ChallengeManagement.tsx b/components/admin/ChallengeManagement.tsx index f19e07b..3ec11d2 100644 --- a/components/admin/ChallengeManagement.tsx +++ b/components/admin/ChallengeManagement.tsx @@ -196,7 +196,7 @@ export default function ChallengeManagement() { {acceptedChallenges.length} défi{acceptedChallenges.length > 1 ? "s" : ""} en attente de validation {pendingChallenges.length > 0 && ( - • {pendingChallenges.length} défi{pendingChallenges.length > 1 ? "s" : ""} en attente d'acceptation + • {pendingChallenges.length} défi{pendingChallenges.length > 1 ? "s" : ""} en attente d'acceptation )} @@ -241,7 +241,7 @@ export default function ChallengeManagement() { ? "bg-green-500/20 text-green-400" : "bg-yellow-500/20 text-yellow-400" }`}> - {challenge.status === "ACCEPTED" ? "Accepté" : "En attente d'acceptation"} + {challenge.status === "ACCEPTED" ? "Accepté" : "En attente d'acceptation"} {challenge.acceptedAt && ( diff --git a/components/challenges/ChallengesSection.tsx b/components/challenges/ChallengesSection.tsx index da1c6b2..2745bfa 100644 --- a/components/challenges/ChallengesSection.tsx +++ b/components/challenges/ChallengesSection.tsx @@ -159,7 +159,7 @@ export default function ChallengesSection({ backgroundImage }: ChallengesSection const getStatusLabel = (status: string) => { switch (status) { case "PENDING": - return "En attente d'acceptation"; + return "En attente d'acceptation"; case "ACCEPTED": return "Accepté - En attente de validation admin"; case "COMPLETED": @@ -308,7 +308,7 @@ export default function ChallengesSection({ backgroundImage }: ChallengesSection ) : challenges.length === 0 ? (

- Vous n'avez aucun défi pour le moment. + Vous n'avez aucun défi pour le moment.

) : ( diff --git a/services/challenges/challenge.service.ts b/services/challenges/challenge.service.ts index 25512c9..d61c3b9 100644 --- a/services/challenges/challenge.service.ts +++ b/services/challenges/challenge.service.ts @@ -4,7 +4,7 @@ import type { ChallengeStatus, Prisma, } from "@/prisma/generated/prisma/client"; -import { ValidationError, NotFoundError, ConflictError } from "../errors"; +import { ValidationError, NotFoundError } from "../errors"; export interface CreateChallengeInput { challengerId: string; @@ -293,13 +293,13 @@ export class ChallengeService { updateData.status = data.status; } if (data.adminId !== undefined) { - updateData.adminId = data.adminId; + updateData.admin = data.adminId ? { connect: { id: data.adminId } } : { disconnect: true }; } if (data.adminComment !== undefined) { updateData.adminComment = data.adminComment; } if (data.winnerId !== undefined) { - updateData.winnerId = data.winnerId; + updateData.winner = data.winnerId ? { connect: { id: data.winnerId } } : { disconnect: true }; } return prisma.challenge.update({