Refactor admin actions and improve code formatting: Standardize import statements, enhance error handling messages, and apply consistent formatting across event, user, and preference management functions for better readability and maintainability.
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
This commit is contained in:
@@ -1,25 +1,28 @@
|
||||
'use server'
|
||||
"use server";
|
||||
|
||||
import { revalidatePath } from 'next/cache'
|
||||
import { auth } from '@/lib/auth'
|
||||
import { challengeService } from '@/services/challenges/challenge.service'
|
||||
import { revalidatePath } from "next/cache";
|
||||
import { auth } from "@/lib/auth";
|
||||
import { challengeService } from "@/services/challenges/challenge.service";
|
||||
import {
|
||||
ValidationError,
|
||||
NotFoundError,
|
||||
ConflictError,
|
||||
} from '@/services/errors'
|
||||
} from "@/services/errors";
|
||||
|
||||
export async function createChallenge(data: {
|
||||
challengedId: string
|
||||
title: string
|
||||
description: string
|
||||
pointsReward?: number
|
||||
challengedId: string;
|
||||
title: string;
|
||||
description: string;
|
||||
pointsReward?: number;
|
||||
}) {
|
||||
try {
|
||||
const session = await auth()
|
||||
const session = await auth();
|
||||
|
||||
if (!session?.user?.id) {
|
||||
return { success: false, error: 'Vous devez être connecté pour créer un défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Vous devez être connecté pour créer un défi",
|
||||
};
|
||||
}
|
||||
|
||||
const challenge = await challengeService.createChallenge({
|
||||
@@ -28,85 +31,99 @@ export async function createChallenge(data: {
|
||||
title: data.title,
|
||||
description: data.description,
|
||||
pointsReward: data.pointsReward || 100,
|
||||
})
|
||||
});
|
||||
|
||||
revalidatePath('/challenges')
|
||||
revalidatePath('/profile')
|
||||
revalidatePath("/challenges");
|
||||
revalidatePath("/profile");
|
||||
|
||||
return { success: true, message: 'Défi créé avec succès', data: challenge }
|
||||
return { success: true, message: "Défi créé avec succès", data: challenge };
|
||||
} catch (error) {
|
||||
console.error('Create challenge error:', error)
|
||||
console.error("Create challenge error:", error);
|
||||
|
||||
if (error instanceof ValidationError || error instanceof ConflictError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
if (error instanceof NotFoundError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
|
||||
return { success: false, error: 'Une erreur est survenue lors de la création du défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Une erreur est survenue lors de la création du défi",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function acceptChallenge(challengeId: string) {
|
||||
try {
|
||||
const session = await auth()
|
||||
const session = await auth();
|
||||
|
||||
if (!session?.user?.id) {
|
||||
return { success: false, error: 'Vous devez être connecté pour accepter un défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Vous devez être connecté pour accepter un défi",
|
||||
};
|
||||
}
|
||||
|
||||
const challenge = await challengeService.acceptChallenge(
|
||||
challengeId,
|
||||
session.user.id
|
||||
)
|
||||
);
|
||||
|
||||
revalidatePath('/challenges')
|
||||
revalidatePath('/profile')
|
||||
revalidatePath("/challenges");
|
||||
revalidatePath("/profile");
|
||||
|
||||
return { success: true, message: 'Défi accepté', data: challenge }
|
||||
return { success: true, message: "Défi accepté", data: challenge };
|
||||
} catch (error) {
|
||||
console.error('Accept challenge error:', error)
|
||||
console.error("Accept challenge error:", error);
|
||||
|
||||
if (error instanceof ValidationError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
if (error instanceof NotFoundError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
|
||||
return { success: false, error: 'Une erreur est survenue lors de l\'acceptation du défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Une erreur est survenue lors de l'acceptation du défi",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export async function cancelChallenge(challengeId: string) {
|
||||
try {
|
||||
const session = await auth()
|
||||
const session = await auth();
|
||||
|
||||
if (!session?.user?.id) {
|
||||
return { success: false, error: 'Vous devez être connecté pour annuler un défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Vous devez être connecté pour annuler un défi",
|
||||
};
|
||||
}
|
||||
|
||||
const challenge = await challengeService.cancelChallenge(
|
||||
challengeId,
|
||||
session.user.id
|
||||
)
|
||||
);
|
||||
|
||||
revalidatePath('/challenges')
|
||||
revalidatePath('/profile')
|
||||
revalidatePath("/challenges");
|
||||
revalidatePath("/profile");
|
||||
|
||||
return { success: true, message: 'Défi annulé', data: challenge }
|
||||
return { success: true, message: "Défi annulé", data: challenge };
|
||||
} catch (error) {
|
||||
console.error('Cancel challenge error:', error)
|
||||
console.error("Cancel challenge error:", error);
|
||||
|
||||
if (error instanceof ValidationError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
if (error instanceof NotFoundError) {
|
||||
return { success: false, error: error.message }
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
|
||||
return { success: false, error: 'Une erreur est survenue lors de l\'annulation du défi' }
|
||||
return {
|
||||
success: false,
|
||||
error: "Une erreur est survenue lors de l'annulation du défi",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user