
import { NextResponse } from "next/server"
import { updatePublicHoliday, deletePublicHoliday } from "@/features/leave/service"

export async function PATCH(
  req: Request,
  { params }: { params: Promise<{ id: string }> }
) {
  try {
    const { id } = await params
    const body = await req.json()
    const updated = await updatePublicHoliday(id, body)
    return NextResponse.json(updated)
  } catch (err) {
    const message = err instanceof Error ? err.message : "Internal server error"
    const status = message === "Holiday not found" ? 404 : 500
    console.error("[PATCH /api/leave/public-holidays/:id]", err)
    return NextResponse.json({ error: message }, { status })
  }
}

export async function DELETE(
  _req: Request,
  { params }: { params: Promise<{ id: string }> }
) {
  try {
    const { id } = await params
    await deletePublicHoliday(id)
    return NextResponse.json({ success: true })
  } catch (err) {
    const message = err instanceof Error ? err.message : "Internal server error"
    const status = message === "Holiday not found" ? 404 : 500
    console.error("[DELETE /api/leave/public-holidays/:id]", err)
    return NextResponse.json({ error: message }, { status })
  }
}