bitwarden-estensione-browser/common/src/models/view/loginView.ts

58 lines
1.4 KiB
TypeScript
Raw Normal View History

import { LoginUriView } from './loginUriView';
2018-01-24 17:33:15 +01:00
import { View } from './view';
import { Utils } from '../../misc/utils';
import { Login } from '../domain/login';
2018-01-24 17:33:15 +01:00
export class LoginView implements View {
2019-01-25 15:30:21 +01:00
username: string = null;
password: string = null;
passwordRevisionDate?: Date = null;
totp: string = null;
uris: LoginUriView[] = null;
autofillOnPageLoad: boolean = null;
2018-01-24 17:33:15 +01:00
constructor(l?: Login) {
if (!l) {
return;
}
this.passwordRevisionDate = l.passwordRevisionDate;
this.autofillOnPageLoad = l.autofillOnPageLoad;
2018-01-24 17:33:15 +01:00
}
get uri(): string {
return this.hasUris ? this.uris[0].uri : null;
2018-01-24 17:33:15 +01:00
}
2018-01-24 22:58:34 +01:00
get maskedPassword(): string {
2018-03-06 13:44:32 +01:00
return this.password != null ? '••••••••' : null;
2018-01-24 22:58:34 +01:00
}
get subTitle(): string {
return this.username;
}
2018-01-25 05:27:04 +01:00
get canLaunch(): boolean {
return this.hasUris && this.uris.some(u => u.canLaunch);
2018-01-25 05:27:04 +01:00
}
get hasTotp(): boolean {
return !Utils.isNullOrWhitespace(this.totp);
}
get launchUri(): string {
if (this.hasUris) {
const uri = this.uris.find(u => u.canLaunch);
if (uri != null) {
return uri.launchUri;
}
}
return null;
}
get hasUris(): boolean {
return this.uris != null && this.uris.length > 0;
2018-01-25 05:27:04 +01:00
}
2018-01-24 17:33:15 +01:00
}