mirror of
https://github.com/bitwarden/browser
synced 2026-02-02 09:43:29 +00:00
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { EncString } from "../../key-management/crypto/models/enc-string";
|
|
import { SshKey as SshKeyDomain } from "../../vault/models/domain/ssh-key";
|
|
import { SshKeyView as SshKeyView } from "../../vault/models/view/ssh-key.view";
|
|
|
|
import { safeGetString } from "./utils";
|
|
|
|
export class SshKeyExport {
|
|
static template(): SshKeyExport {
|
|
const req = new SshKeyExport();
|
|
req.privateKey = "";
|
|
req.publicKey = "";
|
|
req.keyFingerprint = "";
|
|
return req;
|
|
}
|
|
|
|
static toView(req: SshKeyExport, view = new SshKeyView()) {
|
|
view.privateKey = req.privateKey;
|
|
view.publicKey = req.publicKey;
|
|
view.keyFingerprint = req.keyFingerprint;
|
|
return view;
|
|
}
|
|
|
|
static toDomain(req: SshKeyExport, domain = new SshKeyDomain()) {
|
|
domain.privateKey = new EncString(req.privateKey);
|
|
domain.publicKey = new EncString(req.publicKey);
|
|
domain.keyFingerprint = new EncString(req.keyFingerprint);
|
|
return domain;
|
|
}
|
|
|
|
privateKey: string = "";
|
|
publicKey: string = "";
|
|
keyFingerprint: string = "";
|
|
|
|
constructor(o?: SshKeyView | SshKeyDomain) {
|
|
if (o == null) {
|
|
return;
|
|
}
|
|
|
|
this.privateKey = safeGetString(o.privateKey) ?? "";
|
|
this.publicKey = safeGetString(o.publicKey) ?? "";
|
|
this.keyFingerprint = safeGetString(o.keyFingerprint) ?? "";
|
|
}
|
|
}
|