File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed
routes/[token]/_apis/artifactcache/caches Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -151,6 +151,10 @@ export async function findKeyMatch(
151
151
}
152
152
}
153
153
154
+ export async function listEntriesByKey ( db : DB , key : string ) {
155
+ return db . selectFrom ( 'cache_keys' ) . where ( 'key' , '=' , key ) . selectAll ( ) . execute ( )
156
+ }
157
+
154
158
export async function updateOrCreateKey (
155
159
db : DB ,
156
160
{
Original file line number Diff line number Diff line change
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
+ } )
You can’t perform that action at this time.
0 commit comments