import type { SitemapUrlInput } from '#sitemap/types' import { explorerContentTable } from '~/db/schema'; import useDatabase from '~/composables/useDatabase'; export default defineSitemapEventHandler(() => { const db = useDatabase(); const pages = db.select({ path: explorerContentTable.path, lastMod: explorerContentTable.timestamp, navigable: explorerContentTable.navigable, private: explorerContentTable.private }).from(explorerContentTable).all(); return pages.filter(e => e.navigable && !e.private && e.path.split('/').map((_, i, a) => a.slice(0, i).join('/')).every(p => !pages.find(_p => _p.path === p)?.private)).map(e => ({ loc: `/explore/${e.path}`, lastmod: e.lastMod, })) satisfies SitemapUrlInput[]; })