Refactor challenge management functions and improve code formatting: Standardize import statements, enhance error handling messages, and apply consistent formatting across challenge validation, rejection, update, and deletion functions for better readability and maintainability.

This commit is contained in:
Julien Froidefond
2025-12-15 21:20:13 +01:00
parent e4b0907801
commit 321da3176e
4 changed files with 164 additions and 103 deletions

View File

@@ -52,9 +52,7 @@ export class ChallengeService {
/**
* Crée un nouveau défi
*/
async createChallenge(
data: CreateChallengeInput
): Promise<Challenge> {
async createChallenge(data: CreateChallengeInput): Promise<Challenge> {
// Vérifier que les deux joueurs existent
const [challenger, challenged] = await Promise.all([
prisma.user.findUnique({ where: { id: data.challengerId } }),
@@ -103,9 +101,7 @@ export class ChallengeService {
// Vérifier que l'utilisateur est bien celui qui reçoit le défi
if (challenge.challengedId !== userId) {
throw new ValidationError(
"Vous n'êtes pas autorisé à accepter ce défi"
);
throw new ValidationError("Vous n'êtes pas autorisé à accepter ce défi");
}
// Vérifier que le défi est en attente
@@ -144,9 +140,7 @@ export class ChallengeService {
challenge.challengerId !== userId &&
challenge.challengedId !== userId
) {
throw new ValidationError(
"Vous n'êtes pas autorisé à annuler ce défi"
);
throw new ValidationError("Vous n'êtes pas autorisé à annuler ce défi");
}
// Vérifier que le défi peut être annulé
@@ -293,13 +287,17 @@ export class ChallengeService {
updateData.status = data.status;
}
if (data.adminId !== undefined) {
updateData.admin = data.adminId ? { connect: { id: data.adminId } } : { disconnect: true };
updateData.admin = data.adminId
? { connect: { id: data.adminId } }
: { disconnect: true };
}
if (data.adminComment !== undefined) {
updateData.adminComment = data.adminComment;
}
if (data.winnerId !== undefined) {
updateData.winner = data.winnerId ? { connect: { id: data.winnerId } } : { disconnect: true };
updateData.winner = data.winnerId
? { connect: { id: data.winnerId } }
: { disconnect: true };
}
return prisma.challenge.update({
@@ -370,10 +368,7 @@ export class ChallengeService {
async getUserChallenges(userId: string): Promise<ChallengeWithUsers[]> {
return prisma.challenge.findMany({
where: {
OR: [
{ challengerId: userId },
{ challengedId: userId },
],
OR: [{ challengerId: userId }, { challengedId: userId }],
},
include: {
challenger: {
@@ -497,4 +492,3 @@ export class ChallengeService {
}
export const challengeService = new ChallengeService();