obsidian-visualiser/server/api/__sitemap__/urls.ts

14 lines
644 B
TypeScript

import type { SitemapUrlInput } from '#sitemap/types'
import { and, eq } from 'drizzle-orm';
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 }).from(explorerContentTable).where(and(eq(explorerContentTable.private, false), eq(explorerContentTable.navigable, true))).all();
return pages.map(e => ({
loc: `/explore/${e.path}`,
lastmod: e.lastMod,
})) satisfies SitemapUrlInput[];
})