import { requireAuth } from '~/server/utils/auth'
import { prisma } from '~/server/utils/prisma'

export default defineEventHandler(async (event) => {
  await requireAuth(event)
  const query = getQuery(event) as Record<string, string>
  const weekStart = query.weekStart ? new Date(query.weekStart) : new Date()
  weekStart.setHours(0, 0, 0, 0)
  const weekEnd = new Date(weekStart)
  weekEnd.setDate(weekEnd.getDate() + 6)

  return prisma.weeklyAvailability.findMany({
    where: { weekStartDate: { gte: weekStart, lte: weekEnd } },
    include: { member: { select: { id: true, prenom: true, nom: true } } },
    orderBy: { dayOfWeek: 'asc' },
  })
})
