1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-02 01:33:22 +00:00

type fixes. better defaults and string handling

This commit is contained in:
jaasen-livefront
2025-11-07 13:40:12 -08:00
parent 57925414c0
commit 2192d1ec61
4 changed files with 19 additions and 18 deletions

View File

@@ -1,4 +1,5 @@
import { EncString } from "../../key-management/crypto/models/enc-string";
import { conditionalEncString } from "@bitwarden/common/vault/utils/domain-utils";
import { Card as CardDomain } from "../../vault/models/domain/card";
import { CardView } from "../../vault/models/view/card.view";
@@ -27,12 +28,12 @@ export class CardExport {
}
static toDomain(req: CardExport, domain = new CardDomain()) {
domain.cardholderName = req.cardholderName ? new EncString(req.cardholderName) : undefined;
domain.brand = req.brand ? new EncString(req.brand) : undefined;
domain.number = req.number ? new EncString(req.number) : undefined;
domain.expMonth = req.expMonth ? new EncString(req.expMonth) : undefined;
domain.expYear = req.expYear ? new EncString(req.expYear) : undefined;
domain.code = req.code ? new EncString(req.code) : undefined;
domain.cardholderName = conditionalEncString(req.cardholderName);
domain.brand = conditionalEncString(req.brand);
domain.number = conditionalEncString(req.number);
domain.expMonth = conditionalEncString(req.expMonth);
domain.expYear = conditionalEncString(req.expYear);
domain.code = conditionalEncString(req.code);
return domain;
}

View File

@@ -8,6 +8,7 @@ import { IdentityView } from "@bitwarden/common/vault/models/view/identity.view"
import { LoginView } from "@bitwarden/common/vault/models/view/login.view";
import { SecureNoteView } from "@bitwarden/common/vault/models/view/secure-note.view";
import { SshKeyView } from "@bitwarden/common/vault/models/view/ssh-key.view";
import { conditionalEncString } from "@bitwarden/common/vault/utils/domain-utils";
import { EncString } from "../../key-management/crypto/models/enc-string";
import { CipherRepromptType } from "../../vault/enums/cipher-reprompt-type";
@@ -27,9 +28,7 @@ import { safeGetString } from "./utils";
export class CipherExport {
static template(): CipherExport {
const req = new CipherExport();
req.organizationId = "";
req.collectionIds = [];
req.folderId = "";
req.type = CipherType.Login;
req.name = "Item name";
req.notes = "Some notes about this item.";
@@ -54,7 +53,7 @@ export class CipherExport {
view.notes = req.notes;
view.favorite = req.favorite;
view.reprompt = req.reprompt ?? CipherRepromptType.None;
view.key = new EncString(req.key ?? "");
view.key = conditionalEncString(req.key);
if (req.fields != null) {
view.fields = req.fields.map((f) => FieldExport.toView(f));
@@ -86,8 +85,8 @@ export class CipherExport {
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) : undefined;
view.archivedDate = req.archivedDate ? new Date(req.archivedDate) : undefined;
view.deletedDate = req.deletedDate ? new Date(req.deletedDate) : view.deletedDate;
view.archivedDate = req.archivedDate ? new Date(req.archivedDate) : view.archivedDate;
return view;
}
@@ -98,10 +97,10 @@ export class CipherExport {
domain.organizationId = req.organizationId;
}
domain.name = new EncString(req.name ?? "");
domain.notes = req.notes ? new EncString(req.notes) : undefined;
domain.notes = conditionalEncString(req.notes);
domain.favorite = req.favorite;
domain.reprompt = req.reprompt ?? CipherRepromptType.None;
domain.key = req.key ? new EncString(req.key) : undefined;
domain.key = conditionalEncString(req.key);
if (req.fields != null) {
domain.fields = req.fields.map((f) => FieldExport.toDomain(f));

View File

@@ -1,4 +1,5 @@
import { EncString } from "../../key-management/crypto/models/enc-string";
import { conditionalEncString } from "@bitwarden/common/vault/utils/domain-utils";
import { UriMatchStrategySetting } from "../../models/domain/domain-service";
import { LoginUri as LoginUriDomain } from "../../vault/models/domain/login-uri";
import { LoginUriView } from "../../vault/models/view/login-uri.view";
@@ -19,8 +20,8 @@ export class LoginUriExport {
}
static toDomain(req: LoginUriExport, domain = new LoginUriDomain()) {
domain.uri = new EncString(req.uri ?? "");
domain.uriChecksum = new EncString(req.uriChecksum ?? "");
domain.uri = conditionalEncString(req.uri);
domain.uriChecksum = conditionalEncString(req.uriChecksum);
domain.match = req.match;
return domain;
}

View File

@@ -1,7 +1,7 @@
import { EncString } from "../../key-management/crypto/models/enc-string";
export function safeGetString(value?: string | EncString) {
if (!value) {
if (value == null) {
return undefined;
}