diff --git a/web/src/lib/api/api-keys.remote.ts b/web/src/lib/api/api-keys.remote.ts index 65be17e..1bc90f8 100644 --- a/web/src/lib/api/api-keys.remote.ts +++ b/web/src/lib/api/api-keys.remote.ts @@ -1,6 +1,6 @@ import { form, getRequestEvent, query } from '$app/server'; import { auth } from '$lib/server/auth'; -import { createKeySchema } from '$lib/schema/api-keys'; +import { createKeySchema, deleteKeySchema } from '$lib/schema/api-keys'; export const listKeys = query(async () => { const { request } = getRequestEvent(); @@ -16,12 +16,11 @@ export const createKey = form(createKeySchema, async ({ name }) => { return result; }); -export const deleteKey = form(async () => { +export const deleteKey = form(deleteKeySchema, async ({ keyId }) => { const { request } = getRequestEvent(); - const formData = await request.clone().formData(); - const keyId = formData.get('keyId') as string; await auth.api.deleteApiKey({ body: { keyId }, headers: request.headers }); + return { deleted: true }; }); diff --git a/web/src/lib/schema/api-keys.ts b/web/src/lib/schema/api-keys.ts index aeca962..71f87db 100644 --- a/web/src/lib/schema/api-keys.ts +++ b/web/src/lib/schema/api-keys.ts @@ -3,3 +3,7 @@ import { object, string, pipe, minLength } from 'valibot'; export const createKeySchema = object({ name: pipe(string(), minLength(1)) }); + +export const deleteKeySchema = object({ + keyId: pipe(string(), minLength(1)) +}); diff --git a/web/src/routes/dashboard/api-keys/+page.svelte b/web/src/routes/dashboard/api-keys/+page.svelte index 389577c..c07bb88 100644 --- a/web/src/routes/dashboard/api-keys/+page.svelte +++ b/web/src/routes/dashboard/api-keys/+page.svelte @@ -2,10 +2,18 @@ import { listKeys, createKey, deleteKey } from '$lib/api/api-keys.remote'; let newKeyValue = $state(null); + let keysPromise = $state(listKeys()); $effect(() => { if (createKey.result?.key) { newKeyValue = createKey.result.key; + keysPromise = listKeys(); + } + }); + + $effect(() => { + if (deleteKey.result?.deleted) { + keysPromise = listKeys(); } }); @@ -71,7 +79,7 @@

Your Keys

- {#await listKeys()} + {#await keysPromise}
Loading keys...
{:then keys} {#if keys && keys.length > 0}