From bad6385270df6421acf8d2f9a884c5d10b30f241 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Tue, 15 Jul 2025 20:42:30 +0200 Subject: [PATCH] Add exportBackupFile in MessageBus --- src/sdk/MessageBus.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/sdk/MessageBus.ts b/src/sdk/MessageBus.ts index 6684a062..7bd716e1 100644 --- a/src/sdk/MessageBus.ts +++ b/src/sdk/MessageBus.ts @@ -644,6 +644,39 @@ export default class MessageBus { }); } + public exportBackupFile(): Promise { + return new Promise((resolve: (backupFile: any) => void, reject: (error: string) => void) => { + this.checkToken().then(() => { + const messageId = `EXPORT_BACKUP_${uuidv4()}`; + + const unsubscribe = EventBus.getInstance().on('BACKUP_RETRIEVED', (responseId: string, backupFile: any) => { + if (responseId !== messageId) { + return; + } + unsubscribe(); + resolve(backupFile); + }); + + const unsubscribeError = EventBus.getInstance().on('ERROR_BACKUP_RETRIEVED', (responseId: string, error: string) => { + if (responseId !== messageId) { + return; + } + unsubscribeError(); + reject(error); + }); + + const user = User.getInstance(); + const accessToken = user.getAccessToken()!; + + this.sendMessage({ + type: 'EXPORT_BACKUP', + accessToken, + messageId + }); + }).catch(reject); + }); + } + public verifyMerkleProof(merkleProof: string, documentHash: string): Promise { return new Promise((resolve: (isValid: boolean) => void, reject: (error: string) => void) => { this.checkToken().then(() => {