'use server' import { revalidatePath } from 'next/cache' import { auth } from '@/lib/auth' import { eventFeedbackService } from '@/services/events/event-feedback.service' import { ValidationError, NotFoundError, } from '@/services/errors' export async function createFeedback(eventId: string, data: { rating: number comment?: string | null }) { try { const session = await auth() if (!session?.user?.id) { return { success: false, error: 'Non authentifié' } } const feedback = await eventFeedbackService.validateAndCreateFeedback( session.user.id, eventId, { rating: data.rating, comment: data.comment } ) revalidatePath(`/feedback/${eventId}`) revalidatePath('/events') return { success: true, data: feedback } } catch (error) { console.error('Error saving feedback:', error) if (error instanceof ValidationError) { return { success: false, error: error.message } } if (error instanceof NotFoundError) { return { success: false, error: error.message } } return { success: false, error: 'Erreur lors de l\'enregistrement du feedback' } } }