From 93c41f4c123044ae8638b89a60d4de0bb65eff5f Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Thu, 12 Sep 2024 17:23:26 +0200 Subject: [PATCH] feat(read-docs): decrypt them Signed-off-by: Raito Bezarius --- .../doc-editor/components/BlockNoteEditor.tsx | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx index edcb97da7..af8bb3bd7 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteEditor.tsx @@ -1,4 +1,4 @@ -import { Block, BlockNoteEditor as BlockNoteEditorCore } from '@blocknote/core'; +import { Block, BlockNoteEditor as BlockNoteEditorCore, PartialBlock } from '@blocknote/core'; import '@blocknote/core/fonts/inter.css'; import { BlockNoteView } from '@blocknote/mantine'; import '@blocknote/mantine/style.css'; @@ -104,19 +104,25 @@ export const BlockNoteContent = ({ // TODO decrypt doc.content //localStorage.getItem('KEY'); - const docId = 'uuid-du-doc'; - const purpose = `doc:${docId}`; + const docId = doc.id; + const purpose = `docs:${docId}`; const key = e2eClient.findKeyByPurpose(purpose); + console.log('purpose', purpose, 'key', key); + let plaintextContent: Array | undefined; if (!key) { alert('probleme de key'); - // return; + return; } else { - const decryptedMessage = e2eClient.decrypt( - doc.content, - key.keychainFingerprint, - ); + if (doc.content) { + plaintextContent = JSON.parse(e2eClient.decrypt( + doc.content, + key.keychainFingerprint, + ) as string) as Array; - console.log('decryptedMessage', decryptedMessage); + console.log('decryptedMessage', plaintextContent); + } else { + plaintextContent = undefined; + } } return BlockNoteEditorCore.create({ @@ -129,10 +135,11 @@ export const BlockNoteContent = ({ // }, // }, uploadFile, - initialContent: JSON.parse(doc.content), + initialContent: plaintextContent, }); }, [doc.content, storedEditor, uploadFile]); + console.log("useSaveDoc", doc.id, provider.document, canSave, editor); useSaveDoc(doc.id, provider.document, canSave, editor); useEffect(() => {