Refactor event handling and user management: Replace direct database calls with service layer methods for events, user profiles, and preferences, enhancing code organization and maintainability. Update API routes to utilize new services for event registration, feedback, and user statistics, ensuring a consistent approach across the application.

This commit is contained in:
Julien Froidefond
2025-12-12 16:19:13 +01:00
parent fd095246a3
commit 494ac3f503
34 changed files with 1795 additions and 1096 deletions

View File

@@ -1,16 +1,15 @@
import NavigationWrapper from "@/components/NavigationWrapper";
import EventsPageSection from "@/components/EventsPageSection";
import { prisma } from "@/lib/prisma";
import { eventService } from "@/services/events/event.service";
import { eventRegistrationService } from "@/services/events/event-registration.service";
import { getBackgroundImage } from "@/lib/preferences";
import { auth } from "@/lib/auth";
export const dynamic = "force-dynamic";
export default async function EventsPage() {
const events = await prisma.event.findMany({
orderBy: {
date: "desc",
},
const events = await eventService.getAllEvents({
orderBy: { date: "desc" },
});
// Sérialiser les dates pour le client
@@ -29,14 +28,8 @@ export default async function EventsPage() {
if (session?.user?.id) {
// Récupérer toutes les inscriptions (passées et à venir) pour permettre le feedback
const allRegistrations = await prisma.eventRegistration.findMany({
where: {
userId: session.user.id,
},
select: {
eventId: true,
},
});
const allRegistrations =
await eventRegistrationService.getUserRegistrations(session.user.id);
allRegistrations.forEach((reg) => {
initialRegistrations[reg.eventId] = true;