From da18e6856a50b7ec12534e47485ea68248c23d8d Mon Sep 17 00:00:00 2001 From: static Date: Sat, 4 Jan 2025 00:00:55 +0900 Subject: [PATCH] =?UTF-8?q?Store=20=EC=B4=88=EA=B8=B0=ED=99=94=EB=A5=BC=20?= =?UTF-8?q?hooks.client.ts=EC=97=90=EC=84=9C=20=EC=88=98=ED=96=89=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks.client.ts | 26 ++++++++++++++++++ .../(fullscreen)/client/pending/+page.svelte | 19 ++++++------- .../(fullscreen)/key/generate/+page.svelte | 5 ++-- src/routes/+layout.svelte | 19 ++++++------- src/routes/services.ts | 27 ------------------- 5 files changed, 47 insertions(+), 49 deletions(-) create mode 100644 src/hooks.client.ts delete mode 100644 src/routes/services.ts diff --git a/src/hooks.client.ts b/src/hooks.client.ts new file mode 100644 index 0000000..217d7ea --- /dev/null +++ b/src/hooks.client.ts @@ -0,0 +1,26 @@ +import type { ClientInit } from "@sveltejs/kit"; +import { getClientKey, getMasterKeys } from "$lib/indexedDB"; +import { clientKeyStore, masterKeyStore } from "$lib/stores"; + +const prepareClientKeyStore = async () => { + const [encryptKey, decryptKey, signKey, verifyKey] = await Promise.all([ + getClientKey("encrypt"), + getClientKey("decrypt"), + getClientKey("sign"), + getClientKey("verify"), + ]); + if (encryptKey && decryptKey && signKey && verifyKey) { + clientKeyStore.set({ encryptKey, decryptKey, signKey, verifyKey }); + } +}; + +const prepareMasterKeyStore = async () => { + const masterKeys = await getMasterKeys(); + if (masterKeys.length > 0) { + masterKeyStore.set(new Map(masterKeys.map((masterKey) => [masterKey.version, masterKey]))); + } +}; + +export const init: ClientInit = async () => { + await Promise.all([prepareClientKeyStore(), prepareMasterKeyStore()]); +}; diff --git a/src/routes/(fullscreen)/client/pending/+page.svelte b/src/routes/(fullscreen)/client/pending/+page.svelte index e009529..8eacc09 100644 --- a/src/routes/(fullscreen)/client/pending/+page.svelte +++ b/src/routes/(fullscreen)/client/pending/+page.svelte @@ -1,4 +1,5 @@ diff --git a/src/routes/(fullscreen)/key/generate/+page.svelte b/src/routes/(fullscreen)/key/generate/+page.svelte index 91f1fab..5812750 100644 --- a/src/routes/(fullscreen)/key/generate/+page.svelte +++ b/src/routes/(fullscreen)/key/generate/+page.svelte @@ -1,4 +1,5 @@ diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 066a4e0..d682821 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,24 +1,25 @@ diff --git a/src/routes/services.ts b/src/routes/services.ts deleted file mode 100644 index de8f618..0000000 --- a/src/routes/services.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { getClientKey, getMasterKeys } from "$lib/indexedDB"; -import { clientKeyStore, masterKeyStore } from "$lib/stores"; - -export const prepareClientKeyStore = async () => { - const encryptKey = await getClientKey("encrypt"); - const decryptKey = await getClientKey("decrypt"); - const signKey = await getClientKey("sign"); - const verifyKey = await getClientKey("verify"); - if (encryptKey && decryptKey && signKey && verifyKey) { - clientKeyStore.set({ encryptKey, decryptKey, signKey, verifyKey }); - return true; - } else { - return false; - } -}; - -export const prepareMasterKeyStore = async () => { - const masterKeys = await getMasterKeys(); - if (masterKeys.length > 0) { - masterKeyStore.set( - new Map(masterKeys.map(({ version, state, key }) => [version, { version, state, key }])), - ); - return true; - } else { - return false; - } -};