mirror of
https://github.com/bitwarden/browser
synced 2025-12-20 02:03:39 +00:00
* [PM-22136] Update sdk cipher view map to support uknown uuid type * [PM-22136] Add key to CipherView for copying to SdkCipherView for encryption * [PM-22136] Add fromSdk* helpers to Cipher domain objects * [PM-22136] Add toSdk* helpers to Cipher View objects * [PM-22136] Add encrypt() to cipher encryption service * [PM-22136] Add feature flag * [PM-22136] Use new SDK encrypt method when feature flag is enabled * [PM-22136] Filter out null/empty URIs * [PM-22136] Change default value for cipher view arrays to []. See ADR-0014. * [PM-22136] Keep encrypted key value on attachment so that it is passed to the SDK * [PM-22136] Keep encrypted key value on CipherView so that it is passed to the SDK during encryption * [PM-22136] Update failing attachment test * [PM-22136] Update failing importer tests due to new default value for arrays * [PM-22136] Update CipherView.fromJson to handle the prototype of EncString for the cipher key * [PM-22136] Add tickets for followup work * [PM-22136] Use new set_fido2_credentials SDK method instead * [PM-22136] Fix missing prototype when decrypting Fido2Credentials * [PM-22136] Fix test after sdk change * [PM-22136] Update @bitwarden/sdk-internal version * [PM-22136] Fix some strict typing errors * [PM-23348] Migrate move cipher to org to SDK (#15567) * [PM-23348] Add moveToOrganization method to cipher-encryption.service.ts * [PM-23348] Use cipherEncryptionService.moveToOrganization in cipherService shareWithServer and shareManyWithServer methods * [PM-23348] Update cipherFormService to use the shareWithServer() method instead of encrypt() * [PM-23348] Fix typo * [PM-23348] Add missing docs * [PM-22136] Fix EncString import after merge with main
81 lines
2.3 KiB
TypeScript
81 lines
2.3 KiB
TypeScript
// FIXME: Update this file to be type safe and remove this and next line
|
|
// @ts-strict-ignore
|
|
import { Jsonify } from "type-fest";
|
|
|
|
import {
|
|
Fido2CredentialView as SdkFido2CredentialView,
|
|
Fido2CredentialFullView,
|
|
} from "@bitwarden/sdk-internal";
|
|
|
|
import { ItemView } from "./item.view";
|
|
|
|
export class Fido2CredentialView extends ItemView {
|
|
credentialId: string;
|
|
keyType: "public-key";
|
|
keyAlgorithm: "ECDSA";
|
|
keyCurve: "P-256";
|
|
keyValue: string;
|
|
rpId: string;
|
|
userHandle: string;
|
|
userName: string;
|
|
counter: number;
|
|
rpName: string;
|
|
userDisplayName: string;
|
|
discoverable: boolean;
|
|
creationDate: Date = null;
|
|
|
|
get subTitle(): string {
|
|
return this.userDisplayName;
|
|
}
|
|
|
|
static fromJSON(obj: Partial<Jsonify<Fido2CredentialView>>): Fido2CredentialView {
|
|
const creationDate = obj.creationDate != null ? new Date(obj.creationDate) : null;
|
|
return Object.assign(new Fido2CredentialView(), obj, {
|
|
creationDate,
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Converts the SDK Fido2CredentialView to a Fido2CredentialView.
|
|
*/
|
|
static fromSdkFido2CredentialView(obj: SdkFido2CredentialView): Fido2CredentialView | undefined {
|
|
if (!obj) {
|
|
return undefined;
|
|
}
|
|
|
|
const view = new Fido2CredentialView();
|
|
view.credentialId = obj.credentialId;
|
|
view.keyType = obj.keyType as "public-key";
|
|
view.keyAlgorithm = obj.keyAlgorithm as "ECDSA";
|
|
view.keyCurve = obj.keyCurve as "P-256";
|
|
view.rpId = obj.rpId;
|
|
view.userHandle = obj.userHandle;
|
|
view.userName = obj.userName;
|
|
view.counter = parseInt(obj.counter);
|
|
view.rpName = obj.rpName;
|
|
view.userDisplayName = obj.userDisplayName;
|
|
view.discoverable = obj.discoverable?.toLowerCase() === "true" ? true : false;
|
|
view.creationDate = obj.creationDate ? new Date(obj.creationDate) : null;
|
|
|
|
return view;
|
|
}
|
|
|
|
toSdkFido2CredentialFullView(): Fido2CredentialFullView {
|
|
return {
|
|
credentialId: this.credentialId,
|
|
keyType: this.keyType,
|
|
keyAlgorithm: this.keyAlgorithm,
|
|
keyCurve: this.keyCurve,
|
|
keyValue: this.keyValue,
|
|
rpId: this.rpId,
|
|
userHandle: this.userHandle,
|
|
userName: this.userName,
|
|
counter: this.counter.toString(),
|
|
rpName: this.rpName,
|
|
userDisplayName: this.userDisplayName,
|
|
discoverable: this.discoverable ? "true" : "false",
|
|
creationDate: this.creationDate?.toISOString(),
|
|
};
|
|
}
|
|
}
|