import { createLogger } from "@scandic-hotels/common/logger/createLogger"
import { env } from "@/env/server"
import { getLastUpdated, getSitemapIds } from "@/utils/sitemap"
export const dynamic = "force-dynamic"
const sitemapLogger = createLogger("sitemap")
export async function GET() {
sitemapLogger.debug(`Fetching sitemap`)
const lastUpdated = await getLastUpdated()
const sitemaps = await getSitemapIds()
if (!sitemaps || sitemaps.length === 0) {
return new Response("No sitemaps found", { status: 404 })
}
sitemapLogger.debug(`Sitemaps retrieved: ${sitemaps.length}`)
const urls = sitemaps.map(
(id) => `
${env.PUBLIC_URL}/sitemap-${id}.xml
${lastUpdated}
`
)
const sitemapIndexXML = `\n${urls.join("")}\n`
return new Response(sitemapIndexXML, {
headers: { "Content-Type": "application/xml" },
})
}