import { NextRequest, NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; import { requireAuth } from "@/lib/session"; export async function GET(req: NextRequest) { const session = await requireAuth(); if (!session) return NextResponse.json({ error: "Non autorisé" }, { status: 401 }); try { const absences = await prisma.absence.findMany({ where: { userId: session.user.id }, orderBy: { date: "desc" }, }); return NextResponse.json(absences); } catch { return NextResponse.json({ error: "Erreur" }, { status: 500 }); } } export async function POST(req: NextRequest) { const session = await requireAuth(); if (!session) return NextResponse.json({ error: "Non autorisé" }, { status: 401 }); const { date, reason } = await req.json(); if (!date) return NextResponse.json({ error: "Date requise" }, { status: 400 }); try { const absence = await prisma.absence.create({ data: { userId: session.user.id, date: new Date(date), reason: reason || null, }, }); return NextResponse.json(absence, { status: 201 }); } catch { return NextResponse.json({ error: "Erreur" }, { status: 500 }); } }