1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 21:33:27 +00:00
Files
browser/libs/common/src/models/response/cipherResponse.ts
David Frankel 18bc209b73 [PS-1194] Display Creation Date in Clients (#3181)
* Add CreationDate to common libs

* Add CreationDate to Browser

* Add CreationDate to CLI

* Add CreationDate to Desktop

* Add CreationDate to Web

* Update tests

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2022-10-11 20:25:27 -05:00

95 lines
3.2 KiB
TypeScript

import { CipherRepromptType } from "../../enums/cipherRepromptType";
import { CardApi } from "../api/cardApi";
import { FieldApi } from "../api/fieldApi";
import { IdentityApi } from "../api/identityApi";
import { LoginApi } from "../api/loginApi";
import { SecureNoteApi } from "../api/secureNoteApi";
import { AttachmentResponse } from "./attachmentResponse";
import { BaseResponse } from "./baseResponse";
import { PasswordHistoryResponse } from "./passwordHistoryResponse";
export class CipherResponse extends BaseResponse {
id: string;
organizationId: string;
folderId: string;
type: number;
name: string;
notes: string;
fields: FieldApi[];
login: LoginApi;
card: CardApi;
identity: IdentityApi;
secureNote: SecureNoteApi;
favorite: boolean;
edit: boolean;
viewPassword: boolean;
organizationUseTotp: boolean;
revisionDate: string;
attachments: AttachmentResponse[];
passwordHistory: PasswordHistoryResponse[];
collectionIds: string[];
creationDate: string;
deletedDate: string;
reprompt: CipherRepromptType;
constructor(response: any) {
super(response);
this.id = this.getResponseProperty("Id");
this.organizationId = this.getResponseProperty("OrganizationId");
this.folderId = this.getResponseProperty("FolderId") || null;
this.type = this.getResponseProperty("Type");
this.name = this.getResponseProperty("Name");
this.notes = this.getResponseProperty("Notes");
this.favorite = this.getResponseProperty("Favorite") || false;
this.edit = !!this.getResponseProperty("Edit");
if (this.getResponseProperty("ViewPassword") == null) {
this.viewPassword = true;
} else {
this.viewPassword = this.getResponseProperty("ViewPassword");
}
this.organizationUseTotp = this.getResponseProperty("OrganizationUseTotp");
this.revisionDate = this.getResponseProperty("RevisionDate");
this.collectionIds = this.getResponseProperty("CollectionIds");
this.creationDate = this.getResponseProperty("CreationDate");
this.deletedDate = this.getResponseProperty("DeletedDate");
const login = this.getResponseProperty("Login");
if (login != null) {
this.login = new LoginApi(login);
}
const card = this.getResponseProperty("Card");
if (card != null) {
this.card = new CardApi(card);
}
const identity = this.getResponseProperty("Identity");
if (identity != null) {
this.identity = new IdentityApi(identity);
}
const secureNote = this.getResponseProperty("SecureNote");
if (secureNote != null) {
this.secureNote = new SecureNoteApi(secureNote);
}
const fields = this.getResponseProperty("Fields");
if (fields != null) {
this.fields = fields.map((f: any) => new FieldApi(f));
}
const attachments = this.getResponseProperty("Attachments");
if (attachments != null) {
this.attachments = attachments.map((a: any) => new AttachmentResponse(a));
}
const passwordHistory = this.getResponseProperty("PasswordHistory");
if (passwordHistory != null) {
this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));
}
this.reprompt = this.getResponseProperty("Reprompt") || CipherRepromptType.None;
}
}