mirror of
https://github.com/bitwarden/jslib
synced 2026-01-05 01:53:13 +00:00
I noticed that ciphers will always have `edit = True` even if the sync response has `edit = false`. The root cause seems to be a boolean default to true. And since `false || true => true` it would always be set to true.
83 lines
2.9 KiB
TypeScript
83 lines
2.9 KiB
TypeScript
import { AttachmentResponse } from './attachmentResponse';
|
|
import { BaseResponse } from './baseResponse';
|
|
import { PasswordHistoryResponse } from './passwordHistoryResponse';
|
|
|
|
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';
|
|
|
|
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;
|
|
organizationUseTotp: boolean;
|
|
revisionDate: string;
|
|
attachments: AttachmentResponse[];
|
|
passwordHistory: PasswordHistoryResponse[];
|
|
collectionIds: string[];
|
|
deletedDate: string;
|
|
|
|
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');
|
|
this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');
|
|
this.revisionDate = this.getResponseProperty('RevisionDate');
|
|
this.collectionIds = this.getResponseProperty('CollectionIds');
|
|
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));
|
|
}
|
|
}
|
|
}
|