feat: init

This commit is contained in:
ccbikai
2024-05-25 08:09:30 +08:00
commit bd47e755d5
298 changed files with 21915 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
import { z } from 'zod'
export default eventHandler(async (event) => {
const { cloudflare } = event.context
const { KV } = cloudflare.env
const { limit, cursor } = await getValidatedQuery(event, z.object({
limit: z.coerce.number().max(1024).default(20),
cursor: z.string().trim().max(1024).optional(),
}).parse)
const list = await KV.list({
prefix: `link:`,
limit,
cursor,
})
if (Array.isArray(list.keys)) {
list.links = await Promise.all(list.keys.map(async (key: { name: string }) => {
const { metadata, value: link } = await KV.getWithMetadata(key.name, { type: 'json' })
if (link) {
return {
...metadata,
...link,
}
}
return link
}))
}
delete list.keys
return list
})