import { notFound } from "next/navigation"
import { env } from "@/env/server"
import { getSitemapDataById } from "@/utils/sitemap"
import type { NextRequest } from "next/server"
export const dynamic = "force-dynamic"
export async function GET(
_request: NextRequest,
context: { params: { sitemapId: string } }
) {
if (env.HIDE_FOR_NEXT_RELEASE) {
notFound()
}
const sitemapId = context.params.sitemapId
if (!sitemapId) {
notFound()
}
const sitemapData = await getSitemapDataById(Number(sitemapId))
if (!sitemapData.length) {
notFound()
}
const entries = sitemapData.map((entry) => {
const alternates = Object.entries(entry.alternates).map(
([lang, url]) =>
``
)
return `
${entry.url}
${entry.lastModified}
${entry.changeFrequency}
${entry.priority}
${alternates.join("")}
`
})
const sitemapXML = `\n${entries.join("")}\n`
return new Response(sitemapXML, {
headers: { "Content-Type": "text/xml" },
})
}