From e1f590f2f04119dba3a1d12a8c981c0c25d4a14c Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Mon, 11 Jan 2021 17:42:35 +0100 Subject: [PATCH] fix: TypeScript errors after upgrading SNJS --- .eslintrc | 2 +- .../javascripts/services/archiveManager.ts | 40 +++++++++---------- .../javascripts/services/desktopManager.ts | 20 +++++----- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/.eslintrc b/.eslintrc index 91b24e84a..aaf9f4170 100644 --- a/.eslintrc +++ b/.eslintrc @@ -7,7 +7,7 @@ "rules": { "standard/no-callback-literal": 0, // Disable this as we have too many callbacks relying on literals "no-throw-literal": 0, - "no-console": "warn", + "no-console": "off", "semi": 1, "camelcase": "warn" }, diff --git a/app/assets/javascripts/services/archiveManager.ts b/app/assets/javascripts/services/archiveManager.ts index c1b183dbd..eaa800f3e 100644 --- a/app/assets/javascripts/services/archiveManager.ts +++ b/app/assets/javascripts/services/archiveManager.ts @@ -1,5 +1,5 @@ import { WebApplication } from '@/ui_models/application'; -import { EncryptionIntent, ProtectedAction, SNItem, ContentType, SNNote } from '@standardnotes/snjs'; +import { EncryptionIntent, ProtectedAction, SNItem, ContentType, SNNote, BackupFile } from '@standardnotes/snjs'; function zippableTxtName(name: string, suffix = ""): string { const sanitizedName = name @@ -22,22 +22,27 @@ export class ArchiveManager { } public async downloadBackup(encrypted: boolean) { - const items = this.application.allItems(); - const run = async () => { - // download in Standard Notes format const intent = encrypted ? EncryptionIntent.FileEncrypted : EncryptionIntent.FileDecrypted; + + const data = await this.application.createBackupFile(intent); + if (!data) { + return; + } + const blobData = new Blob( + [JSON.stringify(data, null, 2)], + { type: 'text/json' } + ); if (encrypted) { - const data = await this.itemsData(items, intent); this.downloadData( - data!, + blobData, `Standard Notes Encrypted Backup and Import File - ${this.formattedDate()}.txt` ); } else { /** download as zipped plain text files */ - this.downloadZippedItems(items); + this.downloadZippedDecryptedItems(data); } }; @@ -65,15 +70,6 @@ export class ArchiveManager { return string; } - private async itemsData(items: SNItem[], intent: EncryptionIntent) { - const data = await this.application.createBackupFile(items, intent); - if (!data) { - return undefined; - } - const blobData = new Blob([data], { type: 'text/json' }); - return blobData; - } - private get zip() { return (window as any).zip; } @@ -95,17 +91,19 @@ export class ArchiveManager { }); } - private async downloadZippedItems( - items: SNItem[] + private async downloadZippedDecryptedItems( + data: BackupFile ) { await this.loadZip(); + const items = data.items; this.zip.createWriter( new this.zip.BlobWriter('application/zip'), async (zipWriter: any) => { - - const data = await this.application.createBackupFile(items, EncryptionIntent.FileDecrypted); await new Promise((resolve) => { - const blob = new Blob([data!], { type: 'text/plain' }); + const blob = new Blob( + [JSON.stringify(data, null, 2)], + { type: 'text/plain' } + ); const fileName = zippableTxtName( 'Standard Notes Backup and Import File.txt' ); diff --git a/app/assets/javascripts/services/desktopManager.ts b/app/assets/javascripts/services/desktopManager.ts index baae0aca2..a0663676f 100644 --- a/app/assets/javascripts/services/desktopManager.ts +++ b/app/assets/javascripts/services/desktopManager.ts @@ -9,8 +9,8 @@ import { Bridge } from './bridge'; type UpdateObserverCallback = (component: SNComponent) => void type ComponentActivationCallback = (payload: PurePayload) => void type ComponentActivationObserver = { - id: string, - callback: ComponentActivationCallback + id: string; + callback: ComponentActivationCallback; } export class DesktopManager extends ApplicationService { @@ -19,8 +19,9 @@ export class DesktopManager extends ApplicationService { $timeout: ng.ITimeoutService componentActivationObservers: ComponentActivationObserver[] = [] updateObservers: { - callback: UpdateObserverCallback - }[] = [] + callback: UpdateObserverCallback; + }[] = []; + isDesktop = isDesktopApplication(); dataLoaded = false @@ -187,12 +188,11 @@ export class DesktopManager extends ApplicationService { }); } - desktop_requestBackupFile() { - return this.application!.createBackupFile( - undefined, - undefined, - true - ); + async desktop_requestBackupFile() { + const data = this.application!.createBackupFile(EncryptionIntent.FileEncrypted); + if (data) { + return JSON.stringify(data, null, 2); + } } desktop_didBeginBackup() {