// app/api/leave/public-holidays/route.ts

import { NextResponse } from "next/server"
import { createPublicHoliday, listPublicHolidays } from "@/features/leave/service"

export async function GET() {
  try {
    const holidays = await listPublicHolidays()
    return NextResponse.json(holidays)
  } catch (err) {
    console.error("[GET /api/leave/public-holidays]", err)
    return NextResponse.json({ error: "Internal server error" }, { status: 500 })
  }
}

export async function POST(req: Request) {
  try {
    const body = await req.json()
    const { name, type, description, date, endDate } = body

    if (!name?.trim()) {
      return NextResponse.json({ error: "Holiday name is required" }, { status: 400 })
    }
    if (!date) {
      return NextResponse.json({ error: "Date is required" }, { status: 400 })
    }

    const holiday = await createPublicHoliday({ name, type, description, date, endDate })
    return NextResponse.json(holiday, { status: 201 })
  } catch (err) {
    console.error("[POST /api/leave/public-holidays]", err)
    return NextResponse.json({ error: "Internal server error" }, { status: 500 })
  }
}