diff --git a/packages/core/src/api/vault.ts b/packages/core/src/api/vault.ts index 8a3f3e2d4..55d433f3e 100644 --- a/packages/core/src/api/vault.ts +++ b/packages/core/src/api/vault.ts @@ -160,7 +160,7 @@ export default class Vault { await this.db.notes.remove(...lockedIds); } - await this.db.vaults.remove(vault.id); + await this.db.vaults.remove(vault.id, deleteAllLockedNotes); this.password = undefined; } diff --git a/packages/core/src/collections/vaults.ts b/packages/core/src/collections/vaults.ts index a8e761eb8..9703b5221 100644 --- a/packages/core/src/collections/vaults.ts +++ b/packages/core/src/collections/vaults.ts @@ -55,9 +55,9 @@ export class Vaults implements ICollection { return id; } - async remove(id: string) { + async remove(id: string, unlinkAllNotes = false) { await this.db.transaction(async () => { - await this.db.relations.unlinkOfType("vault", [id]); + if (unlinkAllNotes) await this.db.relations.unlinkOfType("vault", [id]); await this.collection.softDelete([id]); }); }