Skip to content

Commit 28b498f

Browse files
committed
feat: add debug cache list route
1 parent 9f6c7e4 commit 28b498f

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

lib/db/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ export async function findKeyMatch(
151151
}
152152
}
153153

154+
export async function listEntriesByKey(db: DB, key: string) {
155+
return db.selectFrom('cache_keys').where('key', '=', key).selectAll().execute()
156+
}
157+
154158
export async function updateOrCreateKey(
155159
db: DB,
156160
{
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { z } from 'zod'
2+
3+
import { auth } from '~/lib/auth'
4+
import { listEntriesByKey, useDB } from '~/lib/db'
5+
6+
const queryParamSchema = z.object({
7+
key: z.string().min(1),
8+
})
9+
10+
export default defineEventHandler({
11+
onRequest: [auth],
12+
handler: async (event) => {
13+
const parsedQuery = queryParamSchema.safeParse(getQuery(event))
14+
if (!parsedQuery.success)
15+
throw createError({
16+
statusCode: 400,
17+
statusMessage: `Invalid query parameters: ${parsedQuery.error.message}`,
18+
})
19+
20+
const { key } = parsedQuery.data
21+
22+
const db = useDB()
23+
const entries = await listEntriesByKey(db, key)
24+
25+
return {
26+
totalCount: entries.length,
27+
artifactCaches: entries.map((entry) => ({
28+
cacheKey: entry.key,
29+
cacheVersion: entry.version,
30+
})),
31+
}
32+
},
33+
})

0 commit comments

Comments
 (0)