diff --git a/libs/common/src/models/export/folder.export.ts b/libs/common/src/models/export/folder.export.ts index 127a5b8baba..1bffcee8c2d 100644 --- a/libs/common/src/models/export/folder.export.ts +++ b/libs/common/src/models/export/folder.export.ts @@ -25,6 +25,6 @@ export class FolderExport { // Use build method instead of ctor so that we can control order of JSON stringify for pretty print build(o: FolderView | FolderDomain) { - this.name = safeGetString(o.name) ?? ""; + this.name = safeGetString(o.name ?? "") ?? ""; } } diff --git a/libs/common/src/vault/models/domain/folder.ts b/libs/common/src/vault/models/domain/folder.ts index f96537a4a96..c06d9ad7872 100644 --- a/libs/common/src/vault/models/domain/folder.ts +++ b/libs/common/src/vault/models/domain/folder.ts @@ -8,8 +8,8 @@ import { FolderData } from "../data/folder.data"; import { FolderView } from "../view/folder.view"; export class Folder extends Domain { - id: string = ""; - name: EncString = new EncString(""); + id?: string; + name?: EncString; revisionDate: Date; constructor(obj?: FolderData) { @@ -41,10 +41,10 @@ export class Folder extends Domain { encryptService: EncryptService, ): Promise { const folderView = new FolderView(); - folderView.id = this.id; + folderView.id = this.id ?? ""; folderView.revisionDate = this.revisionDate; try { - folderView.name = await encryptService.decryptString(this.name, key); + folderView.name = await encryptService.decryptString(this.name ?? new EncString(""), key); } catch (e) { // Note: This should be replaced by the owning team with appropriate, domain-specific behavior. // eslint-disable-next-line no-console @@ -58,6 +58,6 @@ export class Folder extends Domain { if (obj == null) { return null; } - return new Folder({ name: obj.name, revisionDate: obj.revisionDate, id: obj.id }); + return new Folder({ name: obj.name ?? "", revisionDate: obj.revisionDate, id: obj.id ?? "" }); } }