diff --git a/libs/common/src/models/export/cipher.export.ts b/libs/common/src/models/export/cipher.export.ts index be5dd518acd..67a1c2a6d3d 100644 --- a/libs/common/src/models/export/cipher.export.ts +++ b/libs/common/src/models/export/cipher.export.ts @@ -83,10 +83,10 @@ export class CipherExport { view.passwordHistory = req.passwordHistory.map((ph) => PasswordHistoryExport.toView(ph)); } - view.creationDate = req.creationDate ? new Date(req.creationDate) : view.creationDate; - view.revisionDate = req.revisionDate ? new Date(req.revisionDate) : view.revisionDate; - view.deletedDate = req.deletedDate ? new Date(req.deletedDate) : view.deletedDate; - view.archivedDate = req.archivedDate ? new Date(req.archivedDate) : view.archivedDate; + view.creationDate = req.creationDate ?? view.creationDate; + view.revisionDate = req.revisionDate ?? view.revisionDate; + view.deletedDate = req.deletedDate ?? view.deletedDate; + view.archivedDate = req.archivedDate ?? view.archivedDate; return view; } @@ -130,10 +130,10 @@ export class CipherExport { domain.passwordHistory = req.passwordHistory.map((ph) => PasswordHistoryExport.toDomain(ph)); } - domain.creationDate = req.creationDate ? new Date(req.creationDate) : domain.creationDate; - domain.revisionDate = req.revisionDate ? new Date(req.revisionDate) : domain.revisionDate; - domain.deletedDate = req.deletedDate ? new Date(req.deletedDate) : undefined; - domain.archivedDate = req.archivedDate ? new Date(req.archivedDate) : undefined; + domain.creationDate = req.creationDate ?? domain.creationDate; + domain.revisionDate = req.revisionDate ?? domain.revisionDate; + domain.deletedDate = req.deletedDate ?? domain.deletedDate; + domain.archivedDate = req.archivedDate ?? domain.archivedDate; return domain; } diff --git a/libs/common/src/models/export/identity.export.ts b/libs/common/src/models/export/identity.export.ts index 455fcf0a10a..04a1fc5efdb 100644 --- a/libs/common/src/models/export/identity.export.ts +++ b/libs/common/src/models/export/identity.export.ts @@ -1,4 +1,5 @@ -import { EncString } from "../../key-management/crypto/models/enc-string"; +import { conditionalEncString } from "@bitwarden/common/vault/utils/domain-utils"; + import { Identity as IdentityDomain } from "../../vault/models/domain/identity"; import { IdentityView } from "../../vault/models/view/identity.view"; @@ -51,24 +52,24 @@ export class IdentityExport { } static toDomain(req: IdentityExport, domain = new IdentityDomain()) { - domain.title = req.title ? new EncString(req.title) : undefined; - domain.firstName = req.firstName ? new EncString(req.firstName) : undefined; - domain.middleName = req.middleName ? new EncString(req.middleName) : undefined; - domain.lastName = req.lastName ? new EncString(req.lastName) : undefined; - domain.address1 = req.address1 ? new EncString(req.address1) : undefined; - domain.address2 = req.address2 ? new EncString(req.address2) : undefined; - domain.address3 = req.address3 ? new EncString(req.address3) : undefined; - domain.city = req.city ? new EncString(req.city) : undefined; - domain.state = req.state ? new EncString(req.state) : undefined; - domain.postalCode = req.postalCode ? new EncString(req.postalCode) : undefined; - domain.country = req.country ? new EncString(req.country) : undefined; - domain.company = req.company ? new EncString(req.company) : undefined; - domain.email = req.email ? new EncString(req.email) : undefined; - domain.phone = req.phone ? new EncString(req.phone) : undefined; - domain.ssn = req.ssn ? new EncString(req.ssn) : undefined; - domain.username = req.username ? new EncString(req.username) : undefined; - domain.passportNumber = req.passportNumber ? new EncString(req.passportNumber) : undefined; - domain.licenseNumber = req.licenseNumber ? new EncString(req.licenseNumber) : undefined; + domain.title = conditionalEncString(req.title); + domain.firstName = conditionalEncString(req.firstName); + domain.middleName = conditionalEncString(req.middleName); + domain.lastName = conditionalEncString(req.lastName); + domain.address1 = conditionalEncString(req.address1); + domain.address2 = conditionalEncString(req.address2); + domain.address3 = conditionalEncString(req.address3); + domain.city = conditionalEncString(req.city); + domain.state = conditionalEncString(req.state); + domain.postalCode = conditionalEncString(req.postalCode); + domain.country = conditionalEncString(req.country); + domain.company = conditionalEncString(req.company); + domain.email = conditionalEncString(req.email); + domain.phone = conditionalEncString(req.phone); + domain.ssn = conditionalEncString(req.ssn); + domain.username = conditionalEncString(req.username); + domain.passportNumber = conditionalEncString(req.passportNumber); + domain.licenseNumber = conditionalEncString(req.licenseNumber); return domain; } diff --git a/libs/common/src/models/export/login.export.ts b/libs/common/src/models/export/login.export.ts index ee978f793a0..54747a05a3c 100644 --- a/libs/common/src/models/export/login.export.ts +++ b/libs/common/src/models/export/login.export.ts @@ -1,4 +1,5 @@ -import { EncString } from "../../key-management/crypto/models/enc-string"; +import { conditionalEncString } from "@bitwarden/common/vault/utils/domain-utils"; + import { Login as LoginDomain } from "../../vault/models/domain/login"; import { LoginView } from "../../vault/models/view/login.view"; @@ -34,9 +35,9 @@ export class LoginExport { if (req.uris != null) { domain.uris = req.uris.map((u) => LoginUriExport.toDomain(u)); } - domain.username = req.username ? new EncString(req.username) : undefined; - domain.password = req.password ? new EncString(req.password) : undefined; - domain.totp = req.totp ? new EncString(req.totp) : undefined; + domain.username = conditionalEncString(req.username); + domain.password = conditionalEncString(req.password); + domain.totp = conditionalEncString(req.totp); // Fido2credentials are currently not supported for exports. return domain;