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 where: Record<string, unknown> = {}
  if (query.memberId) where.memberId = parseInt(query.memberId)
  if (query.from && query.to) {
    where.weekStartDate = { gte: new Date(query.from), lte: new Date(query.to) }
  }
  return prisma.weeklyAvailability.findMany({ where, orderBy: [{ weekStartDate: 'asc' }, { dayOfWeek: 'asc' }], include: { member: { select: { id: true, prenom: true, nom: true } } } })
})
