bitwarden-estensione-browser/src/models/domain/password.ts

40 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-07-27 22:44:20 +02:00
import { PasswordHistoryData } from '../data/passwordHistoryData';
import { CipherString } from './cipherString';
import Domain from './domainBase';
2018-07-27 22:44:20 +02:00
import { PasswordHistoryView } from '../view/passwordHistoryView';
export class Password extends Domain {
password: CipherString;
lastUsedDate: Date;
constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {
super();
if (obj == null) {
return;
}
this.buildDomainModel(this, obj, {
password: null,
2018-08-20 22:01:26 +02:00
}, alreadyEncrypted);
this.lastUsedDate = new Date(obj.lastUsedDate);
2018-07-27 22:44:20 +02:00
}
async decrypt(orgId: string): Promise<PasswordHistoryView> {
const view = await this.decryptObj(new PasswordHistoryView(this), {
password: null,
}, orgId);
return view;
}
toPasswordHistoryData(): PasswordHistoryData {
const ph = new PasswordHistoryData();
2018-08-20 22:01:26 +02:00
ph.lastUsedDate = this.lastUsedDate.toISOString();
2018-07-27 22:44:20 +02:00
this.buildDataModel(this, ph, {
password: null,
});
return ph;
}
}