34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import { Utils } from "@bitwarden/common/platform/misc/utils";
|
|
import { CipherType } from "@bitwarden/common/vault/enums/cipher-type";
|
|
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
|
|
import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view";
|
|
import { LoginView } from "@bitwarden/common/vault/models/view/login.view";
|
|
|
|
import NotificationQueueMessage from "./notificationQueueMessage";
|
|
import { NotificationQueueMessageType } from "./notificationQueueMessageType";
|
|
|
|
export default class AddLoginQueueMessage extends NotificationQueueMessage {
|
|
type: NotificationQueueMessageType.AddLogin;
|
|
username: string;
|
|
password: string;
|
|
uri: string;
|
|
|
|
static toCipherView(message: AddLoginQueueMessage, folderId?: string): CipherView {
|
|
const uriView = new LoginUriView();
|
|
uriView.uri = message.uri;
|
|
|
|
const loginView = new LoginView();
|
|
loginView.uris = [uriView];
|
|
loginView.username = message.username;
|
|
loginView.password = message.password;
|
|
|
|
const cipherView = new CipherView();
|
|
cipherView.name = (Utils.getHostname(message.uri) || message.domain).replace(/^www\./, "");
|
|
cipherView.folderId = folderId;
|
|
cipherView.type = CipherType.Login;
|
|
cipherView.login = loginView;
|
|
|
|
return cipherView;
|
|
}
|
|
}
|