mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 09:13:33 +00:00
Move to libs
This commit is contained in:
12
libs/common/src/models/response/apiKeyResponse.ts
Normal file
12
libs/common/src/models/response/apiKeyResponse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class ApiKeyResponse extends BaseResponse {
|
||||
apiKey: string;
|
||||
revisionDate: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.apiKey = this.getResponseProperty("ApiKey");
|
||||
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
||||
}
|
||||
}
|
||||
20
libs/common/src/models/response/attachmentResponse.ts
Normal file
20
libs/common/src/models/response/attachmentResponse.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class AttachmentResponse extends BaseResponse {
|
||||
id: string;
|
||||
url: string;
|
||||
fileName: string;
|
||||
key: string;
|
||||
size: string;
|
||||
sizeName: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.url = this.getResponseProperty("Url");
|
||||
this.fileName = this.getResponseProperty("FileName");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.size = this.getResponseProperty("Size");
|
||||
this.sizeName = this.getResponseProperty("SizeName");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { FileUploadType } from "../../enums/fileUploadType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { CipherResponse } from "./cipherResponse";
|
||||
|
||||
export class AttachmentUploadDataResponse extends BaseResponse {
|
||||
attachmentId: string;
|
||||
fileUploadType: FileUploadType;
|
||||
cipherResponse: CipherResponse;
|
||||
cipherMiniResponse: CipherResponse;
|
||||
url: string = null;
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.attachmentId = this.getResponseProperty("AttachmentId");
|
||||
this.fileUploadType = this.getResponseProperty("FileUploadType");
|
||||
const cipherResponse = this.getResponseProperty("CipherResponse");
|
||||
const cipherMiniResponse = this.getResponseProperty("CipherMiniResponse");
|
||||
this.cipherResponse = cipherResponse == null ? null : new CipherResponse(cipherResponse);
|
||||
this.cipherMiniResponse =
|
||||
cipherMiniResponse == null ? null : new CipherResponse(cipherMiniResponse);
|
||||
this.url = this.getResponseProperty("Url");
|
||||
}
|
||||
}
|
||||
43
libs/common/src/models/response/baseResponse.ts
Normal file
43
libs/common/src/models/response/baseResponse.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
export abstract class BaseResponse {
|
||||
private response: any;
|
||||
|
||||
constructor(response: any) {
|
||||
this.response = response;
|
||||
}
|
||||
|
||||
protected getResponseProperty(
|
||||
propertyName: string,
|
||||
response: any = null,
|
||||
exactName = false
|
||||
): any {
|
||||
if (propertyName == null || propertyName === "") {
|
||||
throw new Error("propertyName must not be null/empty.");
|
||||
}
|
||||
if (response == null && this.response != null) {
|
||||
response = this.response;
|
||||
}
|
||||
if (response == null) {
|
||||
return null;
|
||||
}
|
||||
if (!exactName && response[propertyName] === undefined) {
|
||||
let otherCasePropertyName: string = null;
|
||||
if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {
|
||||
otherCasePropertyName = propertyName.charAt(0).toLowerCase();
|
||||
} else {
|
||||
otherCasePropertyName = propertyName.charAt(0).toUpperCase();
|
||||
}
|
||||
if (propertyName.length > 1) {
|
||||
otherCasePropertyName += propertyName.slice(1);
|
||||
}
|
||||
|
||||
propertyName = otherCasePropertyName;
|
||||
if (response[propertyName] === undefined) {
|
||||
propertyName = propertyName.toLowerCase();
|
||||
}
|
||||
if (response[propertyName] === undefined) {
|
||||
propertyName = propertyName.toUpperCase();
|
||||
}
|
||||
}
|
||||
return response[propertyName];
|
||||
}
|
||||
}
|
||||
23
libs/common/src/models/response/billingHistoryResponse.ts
Normal file
23
libs/common/src/models/response/billingHistoryResponse.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { BillingInvoiceResponse, BillingTransactionResponse } from "./billingResponse";
|
||||
|
||||
export class BillingHistoryResponse extends BaseResponse {
|
||||
invoices: BillingInvoiceResponse[] = [];
|
||||
transactions: BillingTransactionResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const transactions = this.getResponseProperty("Transactions");
|
||||
const invoices = this.getResponseProperty("Invoices");
|
||||
if (transactions != null) {
|
||||
this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));
|
||||
}
|
||||
if (invoices != null) {
|
||||
this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));
|
||||
}
|
||||
}
|
||||
|
||||
get hasNoHistory() {
|
||||
return this.invoices.length == 0 && this.transactions.length == 0;
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/billingPaymentResponse.ts
Normal file
14
libs/common/src/models/response/billingPaymentResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { BillingSourceResponse } from "./billingResponse";
|
||||
|
||||
export class BillingPaymentResponse extends BaseResponse {
|
||||
balance: number;
|
||||
paymentSource: BillingSourceResponse;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.balance = this.getResponseProperty("Balance");
|
||||
const paymentSource = this.getResponseProperty("PaymentSource");
|
||||
this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);
|
||||
}
|
||||
}
|
||||
83
libs/common/src/models/response/billingResponse.ts
Normal file
83
libs/common/src/models/response/billingResponse.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
import { PaymentMethodType } from "../../enums/paymentMethodType";
|
||||
import { TransactionType } from "../../enums/transactionType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class BillingResponse extends BaseResponse {
|
||||
balance: number;
|
||||
paymentSource: BillingSourceResponse;
|
||||
invoices: BillingInvoiceResponse[] = [];
|
||||
transactions: BillingTransactionResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.balance = this.getResponseProperty("Balance");
|
||||
const paymentSource = this.getResponseProperty("PaymentSource");
|
||||
const transactions = this.getResponseProperty("Transactions");
|
||||
const invoices = this.getResponseProperty("Invoices");
|
||||
this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);
|
||||
if (transactions != null) {
|
||||
this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));
|
||||
}
|
||||
if (invoices != null) {
|
||||
this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingSourceResponse extends BaseResponse {
|
||||
type: PaymentMethodType;
|
||||
cardBrand: string;
|
||||
description: string;
|
||||
needsVerification: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.cardBrand = this.getResponseProperty("CardBrand");
|
||||
this.description = this.getResponseProperty("Description");
|
||||
this.needsVerification = this.getResponseProperty("NeedsVerification");
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingInvoiceResponse extends BaseResponse {
|
||||
url: string;
|
||||
pdfUrl: string;
|
||||
number: string;
|
||||
paid: boolean;
|
||||
date: string;
|
||||
amount: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.url = this.getResponseProperty("Url");
|
||||
this.pdfUrl = this.getResponseProperty("PdfUrl");
|
||||
this.number = this.getResponseProperty("Number");
|
||||
this.paid = this.getResponseProperty("Paid");
|
||||
this.date = this.getResponseProperty("Date");
|
||||
this.amount = this.getResponseProperty("Amount");
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingTransactionResponse extends BaseResponse {
|
||||
createdDate: string;
|
||||
amount: number;
|
||||
refunded: boolean;
|
||||
partiallyRefunded: boolean;
|
||||
refundedAmount: number;
|
||||
type: TransactionType;
|
||||
paymentMethodType: PaymentMethodType;
|
||||
details: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.createdDate = this.getResponseProperty("CreatedDate");
|
||||
this.amount = this.getResponseProperty("Amount");
|
||||
this.refunded = this.getResponseProperty("Refunded");
|
||||
this.partiallyRefunded = this.getResponseProperty("PartiallyRefunded");
|
||||
this.refundedAmount = this.getResponseProperty("RefundedAmount");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.paymentMethodType = this.getResponseProperty("PaymentMethodType");
|
||||
this.details = this.getResponseProperty("Details");
|
||||
}
|
||||
}
|
||||
32
libs/common/src/models/response/breachAccountResponse.ts
Normal file
32
libs/common/src/models/response/breachAccountResponse.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class BreachAccountResponse extends BaseResponse {
|
||||
addedDate: string;
|
||||
breachDate: string;
|
||||
dataClasses: string[];
|
||||
description: string;
|
||||
domain: string;
|
||||
isActive: boolean;
|
||||
isVerified: boolean;
|
||||
logoPath: string;
|
||||
modifiedDate: string;
|
||||
name: string;
|
||||
pwnCount: number;
|
||||
title: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.addedDate = this.getResponseProperty("AddedDate");
|
||||
this.breachDate = this.getResponseProperty("BreachDate");
|
||||
this.dataClasses = this.getResponseProperty("DataClasses");
|
||||
this.description = this.getResponseProperty("Description");
|
||||
this.domain = this.getResponseProperty("Domain");
|
||||
this.isActive = this.getResponseProperty("IsActive");
|
||||
this.isVerified = this.getResponseProperty("IsVerified");
|
||||
this.logoPath = this.getResponseProperty("LogoPath");
|
||||
this.modifiedDate = this.getResponseProperty("ModifiedDate");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.pwnCount = this.getResponseProperty("PwnCount");
|
||||
this.title = this.getResponseProperty("Title");
|
||||
}
|
||||
}
|
||||
92
libs/common/src/models/response/cipherResponse.ts
Normal file
92
libs/common/src/models/response/cipherResponse.ts
Normal file
@@ -0,0 +1,92 @@
|
||||
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[];
|
||||
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.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;
|
||||
}
|
||||
}
|
||||
38
libs/common/src/models/response/collectionResponse.ts
Normal file
38
libs/common/src/models/response/collectionResponse.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { SelectionReadOnlyResponse } from "./selectionReadOnlyResponse";
|
||||
|
||||
export class CollectionResponse extends BaseResponse {
|
||||
id: string;
|
||||
organizationId: string;
|
||||
name: string;
|
||||
externalId: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.externalId = this.getResponseProperty("ExternalId");
|
||||
}
|
||||
}
|
||||
|
||||
export class CollectionDetailsResponse extends CollectionResponse {
|
||||
readOnly: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.readOnly = this.getResponseProperty("ReadOnly") || false;
|
||||
}
|
||||
}
|
||||
|
||||
export class CollectionGroupDetailsResponse extends CollectionResponse {
|
||||
groups: SelectionReadOnlyResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const groups = this.getResponseProperty("Groups");
|
||||
if (groups != null) {
|
||||
this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));
|
||||
}
|
||||
}
|
||||
}
|
||||
20
libs/common/src/models/response/deviceResponse.ts
Normal file
20
libs/common/src/models/response/deviceResponse.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { DeviceType } from "../../enums/deviceType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class DeviceResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: number;
|
||||
identifier: string;
|
||||
type: DeviceType;
|
||||
creationDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.identifier = this.getResponseProperty("Identifier");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.creationDate = this.getResponseProperty("CreationDate");
|
||||
}
|
||||
}
|
||||
20
libs/common/src/models/response/domainsResponse.ts
Normal file
20
libs/common/src/models/response/domainsResponse.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { GlobalDomainResponse } from "./globalDomainResponse";
|
||||
|
||||
export class DomainsResponse extends BaseResponse {
|
||||
equivalentDomains: string[][];
|
||||
globalEquivalentDomains: GlobalDomainResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.equivalentDomains = this.getResponseProperty("EquivalentDomains");
|
||||
const globalEquivalentDomains = this.getResponseProperty("GlobalEquivalentDomains");
|
||||
if (globalEquivalentDomains != null) {
|
||||
this.globalEquivalentDomains = globalEquivalentDomains.map(
|
||||
(d: any) => new GlobalDomainResponse(d)
|
||||
);
|
||||
} else {
|
||||
this.globalEquivalentDomains = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
82
libs/common/src/models/response/emergencyAccessResponse.ts
Normal file
82
libs/common/src/models/response/emergencyAccessResponse.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
import { EmergencyAccessStatusType } from "../../enums/emergencyAccessStatusType";
|
||||
import { EmergencyAccessType } from "../../enums/emergencyAccessType";
|
||||
import { KdfType } from "../../enums/kdfType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { CipherResponse } from "./cipherResponse";
|
||||
|
||||
export class EmergencyAccessGranteeDetailsResponse extends BaseResponse {
|
||||
id: string;
|
||||
granteeId: string;
|
||||
name: string;
|
||||
email: string;
|
||||
type: EmergencyAccessType;
|
||||
status: EmergencyAccessStatusType;
|
||||
waitTimeDays: number;
|
||||
creationDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.granteeId = this.getResponseProperty("GranteeId");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.waitTimeDays = this.getResponseProperty("WaitTimeDays");
|
||||
this.creationDate = this.getResponseProperty("CreationDate");
|
||||
}
|
||||
}
|
||||
|
||||
export class EmergencyAccessGrantorDetailsResponse extends BaseResponse {
|
||||
id: string;
|
||||
grantorId: string;
|
||||
name: string;
|
||||
email: string;
|
||||
type: EmergencyAccessType;
|
||||
status: EmergencyAccessStatusType;
|
||||
waitTimeDays: number;
|
||||
creationDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.grantorId = this.getResponseProperty("GrantorId");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.waitTimeDays = this.getResponseProperty("WaitTimeDays");
|
||||
this.creationDate = this.getResponseProperty("CreationDate");
|
||||
}
|
||||
}
|
||||
|
||||
export class EmergencyAccessTakeoverResponse extends BaseResponse {
|
||||
keyEncrypted: string;
|
||||
kdf: KdfType;
|
||||
kdfIterations: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
|
||||
this.keyEncrypted = this.getResponseProperty("KeyEncrypted");
|
||||
this.kdf = this.getResponseProperty("Kdf");
|
||||
this.kdfIterations = this.getResponseProperty("KdfIterations");
|
||||
}
|
||||
}
|
||||
|
||||
export class EmergencyAccessViewResponse extends BaseResponse {
|
||||
keyEncrypted: string;
|
||||
ciphers: CipherResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
|
||||
this.keyEncrypted = this.getResponseProperty("KeyEncrypted");
|
||||
|
||||
const ciphers = this.getResponseProperty("Ciphers");
|
||||
if (ciphers != null) {
|
||||
this.ciphers = ciphers.map((c: any) => new CipherResponse(c));
|
||||
}
|
||||
}
|
||||
}
|
||||
74
libs/common/src/models/response/errorResponse.ts
Normal file
74
libs/common/src/models/response/errorResponse.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { Utils } from "../../misc/utils";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class ErrorResponse extends BaseResponse {
|
||||
message: string;
|
||||
validationErrors: { [key: string]: string[] };
|
||||
statusCode: number;
|
||||
captchaRequired: boolean;
|
||||
captchaSiteKey: string;
|
||||
|
||||
constructor(response: any, status: number, identityResponse?: boolean) {
|
||||
super(response);
|
||||
let errorModel = null;
|
||||
if (response != null) {
|
||||
const responseErrorModel = this.getResponseProperty("ErrorModel");
|
||||
if (responseErrorModel && identityResponse) {
|
||||
errorModel = responseErrorModel;
|
||||
} else {
|
||||
errorModel = response;
|
||||
}
|
||||
}
|
||||
|
||||
if (errorModel) {
|
||||
this.message = this.getResponseProperty("Message", errorModel);
|
||||
this.validationErrors = this.getResponseProperty("ValidationErrors", errorModel);
|
||||
this.captchaSiteKey = this.validationErrors?.HCaptcha_SiteKey?.[0];
|
||||
this.captchaRequired = !Utils.isNullOrWhitespace(this.captchaSiteKey);
|
||||
} else {
|
||||
if (status === 429) {
|
||||
this.message = "Rate limit exceeded. Try again later.";
|
||||
}
|
||||
}
|
||||
this.statusCode = status;
|
||||
}
|
||||
|
||||
getSingleMessage(): string {
|
||||
if (this.validationErrors == null) {
|
||||
return this.message;
|
||||
}
|
||||
for (const key in this.validationErrors) {
|
||||
// eslint-disable-next-line
|
||||
if (!this.validationErrors.hasOwnProperty(key)) {
|
||||
continue;
|
||||
}
|
||||
if (this.validationErrors[key].length) {
|
||||
return this.validationErrors[key][0];
|
||||
}
|
||||
}
|
||||
return this.message;
|
||||
}
|
||||
|
||||
getAllMessages(): string[] {
|
||||
const messages: string[] = [];
|
||||
if (this.validationErrors == null) {
|
||||
return messages;
|
||||
}
|
||||
for (const key in this.validationErrors) {
|
||||
// eslint-disable-next-line
|
||||
if (!this.validationErrors.hasOwnProperty(key)) {
|
||||
continue;
|
||||
}
|
||||
this.validationErrors[key].forEach((item: string) => {
|
||||
let prefix = "";
|
||||
if (key.indexOf("[") > -1 && key.indexOf("]") > -1) {
|
||||
const lastSep = key.lastIndexOf(".");
|
||||
prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ": ";
|
||||
}
|
||||
messages.push(prefix + item);
|
||||
});
|
||||
}
|
||||
return messages;
|
||||
}
|
||||
}
|
||||
43
libs/common/src/models/response/eventResponse.ts
Normal file
43
libs/common/src/models/response/eventResponse.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { DeviceType } from "../../enums/deviceType";
|
||||
import { EventType } from "../../enums/eventType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class EventResponse extends BaseResponse {
|
||||
type: EventType;
|
||||
userId: string;
|
||||
organizationId: string;
|
||||
providerId: string;
|
||||
cipherId: string;
|
||||
collectionId: string;
|
||||
groupId: string;
|
||||
policyId: string;
|
||||
organizationUserId: string;
|
||||
providerUserId: string;
|
||||
providerOrganizationId: string;
|
||||
actingUserId: string;
|
||||
date: string;
|
||||
deviceType: DeviceType;
|
||||
ipAddress: string;
|
||||
installationId: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.providerId = this.getResponseProperty("ProviderId");
|
||||
this.cipherId = this.getResponseProperty("CipherId");
|
||||
this.collectionId = this.getResponseProperty("CollectionId");
|
||||
this.groupId = this.getResponseProperty("GroupId");
|
||||
this.policyId = this.getResponseProperty("PolicyId");
|
||||
this.organizationUserId = this.getResponseProperty("OrganizationUserId");
|
||||
this.providerUserId = this.getResponseProperty("ProviderUserId");
|
||||
this.providerOrganizationId = this.getResponseProperty("ProviderOrganizationId");
|
||||
this.actingUserId = this.getResponseProperty("ActingUserId");
|
||||
this.date = this.getResponseProperty("Date");
|
||||
this.deviceType = this.getResponseProperty("DeviceType");
|
||||
this.ipAddress = this.getResponseProperty("IpAddress");
|
||||
this.installationId = this.getResponseProperty("InstallationId");
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/folderResponse.ts
Normal file
14
libs/common/src/models/response/folderResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class FolderResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
revisionDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.revisionDate = this.getResponseProperty("RevisionDate");
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/globalDomainResponse.ts
Normal file
14
libs/common/src/models/response/globalDomainResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class GlobalDomainResponse extends BaseResponse {
|
||||
type: number;
|
||||
domains: string[];
|
||||
excluded: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.domains = this.getResponseProperty("Domains");
|
||||
this.excluded = this.getResponseProperty("Excluded");
|
||||
}
|
||||
}
|
||||
31
libs/common/src/models/response/groupResponse.ts
Normal file
31
libs/common/src/models/response/groupResponse.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { SelectionReadOnlyResponse } from "./selectionReadOnlyResponse";
|
||||
|
||||
export class GroupResponse extends BaseResponse {
|
||||
id: string;
|
||||
organizationId: string;
|
||||
name: string;
|
||||
accessAll: boolean;
|
||||
externalId: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.accessAll = this.getResponseProperty("AccessAll");
|
||||
this.externalId = this.getResponseProperty("ExternalId");
|
||||
}
|
||||
}
|
||||
|
||||
export class GroupDetailsResponse extends GroupResponse {
|
||||
collections: SelectionReadOnlyResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const collections = this.getResponseProperty("Collections");
|
||||
if (collections != null) {
|
||||
this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));
|
||||
}
|
||||
}
|
||||
}
|
||||
10
libs/common/src/models/response/identityCaptchaResponse.ts
Normal file
10
libs/common/src/models/response/identityCaptchaResponse.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class IdentityCaptchaResponse extends BaseResponse {
|
||||
siteKey: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.siteKey = this.getResponseProperty("HCaptcha_SiteKey");
|
||||
}
|
||||
}
|
||||
38
libs/common/src/models/response/identityTokenResponse.ts
Normal file
38
libs/common/src/models/response/identityTokenResponse.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { KdfType } from "../../enums/kdfType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class IdentityTokenResponse extends BaseResponse {
|
||||
accessToken: string;
|
||||
expiresIn: number;
|
||||
refreshToken: string;
|
||||
tokenType: string;
|
||||
|
||||
resetMasterPassword: boolean;
|
||||
privateKey: string;
|
||||
key: string;
|
||||
twoFactorToken: string;
|
||||
kdf: KdfType;
|
||||
kdfIterations: number;
|
||||
forcePasswordReset: boolean;
|
||||
apiUseKeyConnector: boolean;
|
||||
keyConnectorUrl: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.accessToken = response.access_token;
|
||||
this.expiresIn = response.expires_in;
|
||||
this.refreshToken = response.refresh_token;
|
||||
this.tokenType = response.token_type;
|
||||
|
||||
this.resetMasterPassword = this.getResponseProperty("ResetMasterPassword");
|
||||
this.privateKey = this.getResponseProperty("PrivateKey");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.twoFactorToken = this.getResponseProperty("TwoFactorToken");
|
||||
this.kdf = this.getResponseProperty("Kdf");
|
||||
this.kdfIterations = this.getResponseProperty("KdfIterations");
|
||||
this.forcePasswordReset = this.getResponseProperty("ForcePasswordReset");
|
||||
this.apiUseKeyConnector = this.getResponseProperty("ApiUseKeyConnector");
|
||||
this.keyConnectorUrl = this.getResponseProperty("KeyConnectorUrl");
|
||||
}
|
||||
}
|
||||
24
libs/common/src/models/response/identityTwoFactorResponse.ts
Normal file
24
libs/common/src/models/response/identityTwoFactorResponse.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { TwoFactorProviderType } from "../../enums/twoFactorProviderType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class IdentityTwoFactorResponse extends BaseResponse {
|
||||
twoFactorProviders: TwoFactorProviderType[];
|
||||
twoFactorProviders2 = new Map<TwoFactorProviderType, { [key: string]: string }>();
|
||||
captchaToken: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.captchaToken = this.getResponseProperty("CaptchaBypassToken");
|
||||
this.twoFactorProviders = this.getResponseProperty("TwoFactorProviders");
|
||||
const twoFactorProviders2 = this.getResponseProperty("TwoFactorProviders2");
|
||||
if (twoFactorProviders2 != null) {
|
||||
for (const prop in twoFactorProviders2) {
|
||||
// eslint-disable-next-line
|
||||
if (twoFactorProviders2.hasOwnProperty(prop)) {
|
||||
this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class KeyConnectorUserKeyResponse extends BaseResponse {
|
||||
key: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.key = this.getResponseProperty("Key");
|
||||
}
|
||||
}
|
||||
12
libs/common/src/models/response/keysResponse.ts
Normal file
12
libs/common/src/models/response/keysResponse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class KeysResponse extends BaseResponse {
|
||||
privateKey: string;
|
||||
publicKey: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.privateKey = this.getResponseProperty("PrivateKey");
|
||||
this.publicKey = this.getResponseProperty("PublicKey");
|
||||
}
|
||||
}
|
||||
13
libs/common/src/models/response/listResponse.ts
Normal file
13
libs/common/src/models/response/listResponse.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class ListResponse<T> extends BaseResponse {
|
||||
data: T[];
|
||||
continuationToken: string;
|
||||
|
||||
constructor(response: any, t: new (dataResponse: any) => T) {
|
||||
super(response);
|
||||
const data = this.getResponseProperty("Data");
|
||||
this.data = data == null ? [] : data.map((dr: any) => new t(dr));
|
||||
this.continuationToken = this.getResponseProperty("ContinuationToken");
|
||||
}
|
||||
}
|
||||
98
libs/common/src/models/response/notificationResponse.ts
Normal file
98
libs/common/src/models/response/notificationResponse.ts
Normal file
@@ -0,0 +1,98 @@
|
||||
import { NotificationType } from "../../enums/notificationType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class NotificationResponse extends BaseResponse {
|
||||
contextId: string;
|
||||
type: NotificationType;
|
||||
payload: any;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.contextId = this.getResponseProperty("ContextId");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
|
||||
const payload = this.getResponseProperty("Payload");
|
||||
switch (this.type) {
|
||||
case NotificationType.SyncCipherCreate:
|
||||
case NotificationType.SyncCipherDelete:
|
||||
case NotificationType.SyncCipherUpdate:
|
||||
case NotificationType.SyncLoginDelete:
|
||||
this.payload = new SyncCipherNotification(payload);
|
||||
break;
|
||||
case NotificationType.SyncFolderCreate:
|
||||
case NotificationType.SyncFolderDelete:
|
||||
case NotificationType.SyncFolderUpdate:
|
||||
this.payload = new SyncFolderNotification(payload);
|
||||
break;
|
||||
case NotificationType.SyncVault:
|
||||
case NotificationType.SyncCiphers:
|
||||
case NotificationType.SyncOrgKeys:
|
||||
case NotificationType.SyncSettings:
|
||||
case NotificationType.LogOut:
|
||||
this.payload = new UserNotification(payload);
|
||||
break;
|
||||
case NotificationType.SyncSendCreate:
|
||||
case NotificationType.SyncSendUpdate:
|
||||
case NotificationType.SyncSendDelete:
|
||||
this.payload = new SyncSendNotification(payload);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class SyncCipherNotification extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
organizationId: string;
|
||||
collectionIds: string[];
|
||||
revisionDate: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.collectionIds = this.getResponseProperty("CollectionIds");
|
||||
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
||||
}
|
||||
}
|
||||
|
||||
export class SyncFolderNotification extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
revisionDate: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
||||
}
|
||||
}
|
||||
|
||||
export class UserNotification extends BaseResponse {
|
||||
userId: string;
|
||||
date: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.date = new Date(this.getResponseProperty("Date"));
|
||||
}
|
||||
}
|
||||
|
||||
export class SyncSendNotification extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
revisionDate: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.revisionDate = new Date(this.getResponseProperty("RevisionDate"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import { SsoConfigApi } from "../../api/ssoConfigApi";
|
||||
import { BaseResponse } from "../baseResponse";
|
||||
|
||||
export class OrganizationSsoResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
data: SsoConfigApi;
|
||||
urls: SsoUrls;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.data =
|
||||
this.getResponseProperty("Data") != null
|
||||
? new SsoConfigApi(this.getResponseProperty("Data"))
|
||||
: null;
|
||||
this.urls = new SsoUrls(this.getResponseProperty("Urls"));
|
||||
}
|
||||
}
|
||||
|
||||
class SsoUrls extends BaseResponse {
|
||||
callbackPath: string;
|
||||
signedOutCallbackPath: string;
|
||||
spEntityId: string;
|
||||
spMetadataUrl: string;
|
||||
spAcsUrl: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.callbackPath = this.getResponseProperty("CallbackPath");
|
||||
this.signedOutCallbackPath = this.getResponseProperty("SignedOutCallbackPath");
|
||||
this.spEntityId = this.getResponseProperty("SpEntityId");
|
||||
this.spMetadataUrl = this.getResponseProperty("SpMetadataUrl");
|
||||
this.spAcsUrl = this.getResponseProperty("SpAcsUrl");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { OrganizationApiKeyType } from "../../enums/organizationApiKeyType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class OrganizationApiKeyInformationResponse extends BaseResponse {
|
||||
keyType: OrganizationApiKeyType;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.keyType = this.getResponseProperty("KeyType");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class OrganizationAutoEnrollStatusResponse extends BaseResponse {
|
||||
id: string;
|
||||
resetPasswordEnabled: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.resetPasswordEnabled = this.getResponseProperty("ResetPasswordEnabled");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import { OrganizationConnectionType } from "jslib-common/enums/organizationConnectionType";
|
||||
|
||||
import { BillingSyncConfigApi } from "../api/billingSyncConfigApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
/**API response config types for OrganizationConnectionResponse */
|
||||
export type OrganizationConnectionConfigApis = BillingSyncConfigApi;
|
||||
|
||||
export class OrganizationConnectionResponse<
|
||||
TConfig extends OrganizationConnectionConfigApis
|
||||
> extends BaseResponse {
|
||||
id: string;
|
||||
type: OrganizationConnectionType;
|
||||
organizationId: string;
|
||||
enabled: boolean;
|
||||
config: TConfig;
|
||||
|
||||
constructor(response: any, configType: { new (response: any): TConfig }) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
const rawConfig = this.getResponseProperty("Config");
|
||||
this.config = rawConfig == null ? null : new configType(rawConfig);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { KeysResponse } from "./keysResponse";
|
||||
|
||||
export class OrganizationKeysResponse extends KeysResponse {
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
}
|
||||
}
|
||||
60
libs/common/src/models/response/organizationResponse.ts
Normal file
60
libs/common/src/models/response/organizationResponse.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import { PlanType } from "../../enums/planType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { PlanResponse } from "./planResponse";
|
||||
|
||||
export class OrganizationResponse extends BaseResponse {
|
||||
id: string;
|
||||
identifier: string;
|
||||
name: string;
|
||||
businessName: string;
|
||||
businessAddress1: string;
|
||||
businessAddress2: string;
|
||||
businessAddress3: string;
|
||||
businessCountry: string;
|
||||
businessTaxNumber: string;
|
||||
billingEmail: string;
|
||||
plan: PlanResponse;
|
||||
planType: PlanType;
|
||||
seats: number;
|
||||
maxAutoscaleSeats: number;
|
||||
maxCollections: number;
|
||||
maxStorageGb: number;
|
||||
useGroups: boolean;
|
||||
useDirectory: boolean;
|
||||
useEvents: boolean;
|
||||
useTotp: boolean;
|
||||
use2fa: boolean;
|
||||
useApi: boolean;
|
||||
useResetPassword: boolean;
|
||||
hasPublicAndPrivateKeys: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.identifier = this.getResponseProperty("Identifier");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.businessName = this.getResponseProperty("BusinessName");
|
||||
this.businessAddress1 = this.getResponseProperty("BusinessAddress1");
|
||||
this.businessAddress2 = this.getResponseProperty("BusinessAddress2");
|
||||
this.businessAddress3 = this.getResponseProperty("BusinessAddress3");
|
||||
this.businessCountry = this.getResponseProperty("BusinessCountry");
|
||||
this.businessTaxNumber = this.getResponseProperty("BusinessTaxNumber");
|
||||
this.billingEmail = this.getResponseProperty("BillingEmail");
|
||||
const plan = this.getResponseProperty("Plan");
|
||||
this.plan = plan == null ? null : new PlanResponse(plan);
|
||||
this.planType = this.getResponseProperty("PlanType");
|
||||
this.seats = this.getResponseProperty("Seats");
|
||||
this.maxAutoscaleSeats = this.getResponseProperty("MaxAutoscaleSeats");
|
||||
this.maxCollections = this.getResponseProperty("MaxCollections");
|
||||
this.maxStorageGb = this.getResponseProperty("MaxStorageGb");
|
||||
this.useGroups = this.getResponseProperty("UseGroups");
|
||||
this.useDirectory = this.getResponseProperty("UseDirectory");
|
||||
this.useEvents = this.getResponseProperty("UseEvents");
|
||||
this.useTotp = this.getResponseProperty("UseTotp");
|
||||
this.use2fa = this.getResponseProperty("Use2fa");
|
||||
this.useApi = this.getResponseProperty("UseApi");
|
||||
this.useResetPassword = this.getResponseProperty("UseResetPassword");
|
||||
this.hasPublicAndPrivateKeys = this.getResponseProperty("HasPublicAndPrivateKeys");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class OrganizationSponsorshipSyncStatusResponse extends BaseResponse {
|
||||
lastSyncDate?: Date;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const lastSyncDate = this.getResponseProperty("LastSyncDate");
|
||||
if (lastSyncDate) {
|
||||
this.lastSyncDate = new Date(lastSyncDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { OrganizationResponse } from "./organizationResponse";
|
||||
import {
|
||||
BillingSubscriptionResponse,
|
||||
BillingSubscriptionUpcomingInvoiceResponse,
|
||||
} from "./subscriptionResponse";
|
||||
|
||||
export class OrganizationSubscriptionResponse extends OrganizationResponse {
|
||||
storageName: string;
|
||||
storageGb: number;
|
||||
subscription: BillingSubscriptionResponse;
|
||||
upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;
|
||||
expiration: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.storageName = this.getResponseProperty("StorageName");
|
||||
this.storageGb = this.getResponseProperty("StorageGb");
|
||||
const subscription = this.getResponseProperty("Subscription");
|
||||
this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);
|
||||
const upcomingInvoice = this.getResponseProperty("UpcomingInvoice");
|
||||
this.upcomingInvoice =
|
||||
upcomingInvoice == null
|
||||
? null
|
||||
: new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);
|
||||
this.expiration = this.getResponseProperty("Expiration");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class OrganizationUserBulkPublicKeyResponse extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
key: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class OrganizationUserBulkResponse extends BaseResponse {
|
||||
id: string;
|
||||
error: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.error = this.getResponseProperty("Error");
|
||||
}
|
||||
}
|
||||
70
libs/common/src/models/response/organizationUserResponse.ts
Normal file
70
libs/common/src/models/response/organizationUserResponse.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
import { KdfType } from "../../enums/kdfType";
|
||||
import { OrganizationUserStatusType } from "../../enums/organizationUserStatusType";
|
||||
import { OrganizationUserType } from "../../enums/organizationUserType";
|
||||
import { PermissionsApi } from "../api/permissionsApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { SelectionReadOnlyResponse } from "./selectionReadOnlyResponse";
|
||||
|
||||
export class OrganizationUserResponse extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
type: OrganizationUserType;
|
||||
status: OrganizationUserStatusType;
|
||||
accessAll: boolean;
|
||||
permissions: PermissionsApi;
|
||||
resetPasswordEnrolled: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.permissions = new PermissionsApi(this.getResponseProperty("Permissions"));
|
||||
this.accessAll = this.getResponseProperty("AccessAll");
|
||||
this.resetPasswordEnrolled = this.getResponseProperty("ResetPasswordEnrolled");
|
||||
}
|
||||
}
|
||||
|
||||
export class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {
|
||||
name: string;
|
||||
email: string;
|
||||
twoFactorEnabled: boolean;
|
||||
usesKeyConnector: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
this.twoFactorEnabled = this.getResponseProperty("TwoFactorEnabled");
|
||||
this.usesKeyConnector = this.getResponseProperty("UsesKeyConnector") ?? false;
|
||||
}
|
||||
}
|
||||
|
||||
export class OrganizationUserDetailsResponse extends OrganizationUserResponse {
|
||||
collections: SelectionReadOnlyResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const collections = this.getResponseProperty("Collections");
|
||||
if (collections != null) {
|
||||
this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class OrganizationUserResetPasswordDetailsReponse extends BaseResponse {
|
||||
kdf: KdfType;
|
||||
kdfIterations: number;
|
||||
resetPasswordKey: string;
|
||||
encryptedPrivateKey: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.kdf = this.getResponseProperty("Kdf");
|
||||
this.kdfIterations = this.getResponseProperty("KdfIterations");
|
||||
this.resetPasswordKey = this.getResponseProperty("ResetPasswordKey");
|
||||
this.encryptedPrivateKey = this.getResponseProperty("EncryptedPrivateKey");
|
||||
}
|
||||
}
|
||||
12
libs/common/src/models/response/passwordHistoryResponse.ts
Normal file
12
libs/common/src/models/response/passwordHistoryResponse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class PasswordHistoryResponse extends BaseResponse {
|
||||
password: string;
|
||||
lastUsedDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.password = this.getResponseProperty("Password");
|
||||
this.lastUsedDate = this.getResponseProperty("LastUsedDate");
|
||||
}
|
||||
}
|
||||
18
libs/common/src/models/response/paymentResponse.ts
Normal file
18
libs/common/src/models/response/paymentResponse.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { ProfileResponse } from "./profileResponse";
|
||||
|
||||
export class PaymentResponse extends BaseResponse {
|
||||
userProfile: ProfileResponse;
|
||||
paymentIntentClientSecret: string;
|
||||
success: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
const userProfile = this.getResponseProperty("UserProfile");
|
||||
if (userProfile != null) {
|
||||
this.userProfile = new ProfileResponse(userProfile);
|
||||
}
|
||||
this.paymentIntentClientSecret = this.getResponseProperty("PaymentIntentClientSecret");
|
||||
this.success = this.getResponseProperty("Success");
|
||||
}
|
||||
}
|
||||
95
libs/common/src/models/response/planResponse.ts
Normal file
95
libs/common/src/models/response/planResponse.ts
Normal file
@@ -0,0 +1,95 @@
|
||||
import { PlanType } from "../../enums/planType";
|
||||
import { ProductType } from "../../enums/productType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class PlanResponse extends BaseResponse {
|
||||
type: PlanType;
|
||||
product: ProductType;
|
||||
name: string;
|
||||
isAnnual: boolean;
|
||||
nameLocalizationKey: string;
|
||||
descriptionLocalizationKey: string;
|
||||
canBeUsedByBusiness: boolean;
|
||||
baseSeats: number;
|
||||
baseStorageGb: number;
|
||||
maxCollections: number;
|
||||
maxUsers: number;
|
||||
|
||||
hasAdditionalSeatsOption: boolean;
|
||||
maxAdditionalSeats: number;
|
||||
hasAdditionalStorageOption: boolean;
|
||||
maxAdditionalStorage: number;
|
||||
hasPremiumAccessOption: boolean;
|
||||
trialPeriodDays: number;
|
||||
|
||||
hasSelfHost: boolean;
|
||||
hasPolicies: boolean;
|
||||
hasGroups: boolean;
|
||||
hasDirectory: boolean;
|
||||
hasEvents: boolean;
|
||||
hasTotp: boolean;
|
||||
has2fa: boolean;
|
||||
hasApi: boolean;
|
||||
hasSso: boolean;
|
||||
hasResetPassword: boolean;
|
||||
usersGetPremium: boolean;
|
||||
|
||||
upgradeSortOrder: number;
|
||||
displaySortOrder: number;
|
||||
legacyYear: number;
|
||||
disabled: boolean;
|
||||
|
||||
stripePlanId: string;
|
||||
stripeSeatPlanId: string;
|
||||
stripeStoragePlanId: string;
|
||||
stripePremiumAccessPlanId: string;
|
||||
basePrice: number;
|
||||
seatPrice: number;
|
||||
additionalStoragePricePerGb: number;
|
||||
premiumAccessOptionPrice: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.product = this.getResponseProperty("Product");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.isAnnual = this.getResponseProperty("IsAnnual");
|
||||
this.nameLocalizationKey = this.getResponseProperty("NameLocalizationKey");
|
||||
this.descriptionLocalizationKey = this.getResponseProperty("DescriptionLocalizationKey");
|
||||
this.canBeUsedByBusiness = this.getResponseProperty("CanBeUsedByBusiness");
|
||||
this.baseSeats = this.getResponseProperty("BaseSeats");
|
||||
this.baseStorageGb = this.getResponseProperty("BaseStorageGb");
|
||||
this.maxCollections = this.getResponseProperty("MaxCollections");
|
||||
this.maxUsers = this.getResponseProperty("MaxUsers");
|
||||
this.hasAdditionalSeatsOption = this.getResponseProperty("HasAdditionalSeatsOption");
|
||||
this.maxAdditionalSeats = this.getResponseProperty("MaxAdditionalSeats");
|
||||
this.hasAdditionalStorageOption = this.getResponseProperty("HasAdditionalStorageOption");
|
||||
this.maxAdditionalStorage = this.getResponseProperty("MaxAdditionalStorage");
|
||||
this.hasPremiumAccessOption = this.getResponseProperty("HasPremiumAccessOption");
|
||||
this.trialPeriodDays = this.getResponseProperty("TrialPeriodDays");
|
||||
this.hasSelfHost = this.getResponseProperty("HasSelfHost");
|
||||
this.hasPolicies = this.getResponseProperty("HasPolicies");
|
||||
this.hasGroups = this.getResponseProperty("HasGroups");
|
||||
this.hasDirectory = this.getResponseProperty("HasDirectory");
|
||||
this.hasEvents = this.getResponseProperty("HasEvents");
|
||||
this.hasTotp = this.getResponseProperty("HasTotp");
|
||||
this.has2fa = this.getResponseProperty("Has2fa");
|
||||
this.hasApi = this.getResponseProperty("HasApi");
|
||||
this.hasSso = this.getResponseProperty("HasSso");
|
||||
this.hasResetPassword = this.getResponseProperty("HasResetPassword");
|
||||
this.usersGetPremium = this.getResponseProperty("UsersGetPremium");
|
||||
this.upgradeSortOrder = this.getResponseProperty("UpgradeSortOrder");
|
||||
this.displaySortOrder = this.getResponseProperty("SortOrder");
|
||||
this.legacyYear = this.getResponseProperty("LegacyYear");
|
||||
this.disabled = this.getResponseProperty("Disabled");
|
||||
this.stripePlanId = this.getResponseProperty("StripePlanId");
|
||||
this.stripeSeatPlanId = this.getResponseProperty("StripeSeatPlanId");
|
||||
this.stripeStoragePlanId = this.getResponseProperty("StripeStoragePlanId");
|
||||
this.stripePremiumAccessPlanId = this.getResponseProperty("StripePremiumAccessPlanId");
|
||||
this.basePrice = this.getResponseProperty("BasePrice");
|
||||
this.seatPrice = this.getResponseProperty("SeatPrice");
|
||||
this.additionalStoragePricePerGb = this.getResponseProperty("AdditionalStoragePricePerGb");
|
||||
this.premiumAccessOptionPrice = this.getResponseProperty("PremiumAccessOptionPrice");
|
||||
}
|
||||
}
|
||||
20
libs/common/src/models/response/policyResponse.ts
Normal file
20
libs/common/src/models/response/policyResponse.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { PolicyType } from "../../enums/policyType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class PolicyResponse extends BaseResponse {
|
||||
id: string;
|
||||
organizationId: string;
|
||||
type: PolicyType;
|
||||
data: any;
|
||||
enabled: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.data = this.getResponseProperty("Data");
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/preloginResponse.ts
Normal file
14
libs/common/src/models/response/preloginResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { KdfType } from "../../enums/kdfType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class PreloginResponse extends BaseResponse {
|
||||
kdf: KdfType;
|
||||
kdfIterations: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.kdf = this.getResponseProperty("Kdf");
|
||||
this.kdfIterations = this.getResponseProperty("KdfIterations");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
import { OrganizationUserStatusType } from "../../enums/organizationUserStatusType";
|
||||
import { OrganizationUserType } from "../../enums/organizationUserType";
|
||||
import { ProductType } from "../../enums/productType";
|
||||
import { PermissionsApi } from "../api/permissionsApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class ProfileOrganizationResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
usePolicies: boolean;
|
||||
useGroups: boolean;
|
||||
useDirectory: boolean;
|
||||
useEvents: boolean;
|
||||
useTotp: boolean;
|
||||
use2fa: boolean;
|
||||
useApi: boolean;
|
||||
useSso: boolean;
|
||||
useKeyConnector: boolean;
|
||||
useResetPassword: boolean;
|
||||
selfHost: boolean;
|
||||
usersGetPremium: boolean;
|
||||
seats: number;
|
||||
maxCollections: number;
|
||||
maxStorageGb?: number;
|
||||
key: string;
|
||||
hasPublicAndPrivateKeys: boolean;
|
||||
status: OrganizationUserStatusType;
|
||||
type: OrganizationUserType;
|
||||
enabled: boolean;
|
||||
ssoBound: boolean;
|
||||
identifier: string;
|
||||
permissions: PermissionsApi;
|
||||
resetPasswordEnrolled: boolean;
|
||||
userId: string;
|
||||
providerId: string;
|
||||
providerName: string;
|
||||
familySponsorshipFriendlyName: string;
|
||||
familySponsorshipAvailable: boolean;
|
||||
planProductType: ProductType;
|
||||
keyConnectorEnabled: boolean;
|
||||
keyConnectorUrl: string;
|
||||
familySponsorshipLastSyncDate?: Date;
|
||||
familySponsorshipValidUntil?: Date;
|
||||
familySponsorshipToDelete?: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.usePolicies = this.getResponseProperty("UsePolicies");
|
||||
this.useGroups = this.getResponseProperty("UseGroups");
|
||||
this.useDirectory = this.getResponseProperty("UseDirectory");
|
||||
this.useEvents = this.getResponseProperty("UseEvents");
|
||||
this.useTotp = this.getResponseProperty("UseTotp");
|
||||
this.use2fa = this.getResponseProperty("Use2fa");
|
||||
this.useApi = this.getResponseProperty("UseApi");
|
||||
this.useSso = this.getResponseProperty("UseSso");
|
||||
this.useKeyConnector = this.getResponseProperty("UseKeyConnector") ?? false;
|
||||
this.useResetPassword = this.getResponseProperty("UseResetPassword");
|
||||
this.selfHost = this.getResponseProperty("SelfHost");
|
||||
this.usersGetPremium = this.getResponseProperty("UsersGetPremium");
|
||||
this.seats = this.getResponseProperty("Seats");
|
||||
this.maxCollections = this.getResponseProperty("MaxCollections");
|
||||
this.maxStorageGb = this.getResponseProperty("MaxStorageGb");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.hasPublicAndPrivateKeys = this.getResponseProperty("HasPublicAndPrivateKeys");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.ssoBound = this.getResponseProperty("SsoBound");
|
||||
this.identifier = this.getResponseProperty("Identifier");
|
||||
this.permissions = new PermissionsApi(this.getResponseProperty("permissions"));
|
||||
this.resetPasswordEnrolled = this.getResponseProperty("ResetPasswordEnrolled");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.providerId = this.getResponseProperty("ProviderId");
|
||||
this.providerName = this.getResponseProperty("ProviderName");
|
||||
this.familySponsorshipFriendlyName = this.getResponseProperty("FamilySponsorshipFriendlyName");
|
||||
this.familySponsorshipAvailable = this.getResponseProperty("FamilySponsorshipAvailable");
|
||||
this.planProductType = this.getResponseProperty("PlanProductType");
|
||||
this.keyConnectorEnabled = this.getResponseProperty("KeyConnectorEnabled") ?? false;
|
||||
this.keyConnectorUrl = this.getResponseProperty("KeyConnectorUrl");
|
||||
const familySponsorshipLastSyncDateString = this.getResponseProperty(
|
||||
"FamilySponsorshipLastSyncDate"
|
||||
);
|
||||
if (familySponsorshipLastSyncDateString) {
|
||||
this.familySponsorshipLastSyncDate = new Date(familySponsorshipLastSyncDateString);
|
||||
}
|
||||
const familySponsorshipValidUntilString = this.getResponseProperty(
|
||||
"FamilySponsorshipValidUntil"
|
||||
);
|
||||
if (familySponsorshipValidUntilString) {
|
||||
this.familySponsorshipValidUntil = new Date(familySponsorshipValidUntilString);
|
||||
}
|
||||
this.familySponsorshipToDelete = this.getResponseProperty("FamilySponsorshipToDelete");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import { ProfileOrganizationResponse } from "./profileOrganizationResponse";
|
||||
|
||||
export class ProfileProviderOrganizationResponse extends ProfileOrganizationResponse {
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.keyConnectorEnabled = false;
|
||||
}
|
||||
}
|
||||
30
libs/common/src/models/response/profileProviderResponse.ts
Normal file
30
libs/common/src/models/response/profileProviderResponse.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { ProviderUserStatusType } from "../../enums/providerUserStatusType";
|
||||
import { ProviderUserType } from "../../enums/providerUserType";
|
||||
import { PermissionsApi } from "../api/permissionsApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class ProfileProviderResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
key: string;
|
||||
status: ProviderUserStatusType;
|
||||
type: ProviderUserType;
|
||||
enabled: boolean;
|
||||
permissions: PermissionsApi;
|
||||
userId: string;
|
||||
useEvents: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.permissions = new PermissionsApi(this.getResponseProperty("permissions"));
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.useEvents = this.getResponseProperty("UseEvents");
|
||||
}
|
||||
}
|
||||
55
libs/common/src/models/response/profileResponse.ts
Normal file
55
libs/common/src/models/response/profileResponse.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { ProfileOrganizationResponse } from "./profileOrganizationResponse";
|
||||
import { ProfileProviderOrganizationResponse } from "./profileProviderOrganizationResponse";
|
||||
import { ProfileProviderResponse } from "./profileProviderResponse";
|
||||
|
||||
export class ProfileResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
emailVerified: boolean;
|
||||
masterPasswordHint: string;
|
||||
premium: boolean;
|
||||
culture: string;
|
||||
twoFactorEnabled: boolean;
|
||||
key: string;
|
||||
privateKey: string;
|
||||
securityStamp: string;
|
||||
forcePasswordReset: boolean;
|
||||
usesKeyConnector: boolean;
|
||||
organizations: ProfileOrganizationResponse[] = [];
|
||||
providers: ProfileProviderResponse[] = [];
|
||||
providerOrganizations: ProfileProviderOrganizationResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
this.emailVerified = this.getResponseProperty("EmailVerified");
|
||||
this.masterPasswordHint = this.getResponseProperty("MasterPasswordHint");
|
||||
this.premium = this.getResponseProperty("Premium");
|
||||
this.culture = this.getResponseProperty("Culture");
|
||||
this.twoFactorEnabled = this.getResponseProperty("TwoFactorEnabled");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.privateKey = this.getResponseProperty("PrivateKey");
|
||||
this.securityStamp = this.getResponseProperty("SecurityStamp");
|
||||
this.forcePasswordReset = this.getResponseProperty("ForcePasswordReset") ?? false;
|
||||
this.usesKeyConnector = this.getResponseProperty("UsesKeyConnector") ?? false;
|
||||
|
||||
const organizations = this.getResponseProperty("Organizations");
|
||||
if (organizations != null) {
|
||||
this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));
|
||||
}
|
||||
const providers = this.getResponseProperty("Providers");
|
||||
if (providers != null) {
|
||||
this.providers = providers.map((o: any) => new ProfileProviderResponse(o));
|
||||
}
|
||||
const providerOrganizations = this.getResponseProperty("ProviderOrganizations");
|
||||
if (providerOrganizations != null) {
|
||||
this.providerOrganizations = providerOrganizations.map(
|
||||
(o: any) => new ProfileProviderOrganizationResponse(o)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import { BaseResponse } from "../baseResponse";
|
||||
|
||||
export class ProviderOrganizationResponse extends BaseResponse {
|
||||
id: string;
|
||||
providerId: string;
|
||||
organizationId: string;
|
||||
key: string;
|
||||
settings: string;
|
||||
creationDate: string;
|
||||
revisionDate: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.providerId = this.getResponseProperty("ProviderId");
|
||||
this.organizationId = this.getResponseProperty("OrganizationId");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.settings = this.getResponseProperty("Settings");
|
||||
this.creationDate = this.getResponseProperty("CreationDate");
|
||||
this.revisionDate = this.getResponseProperty("RevisionDate");
|
||||
}
|
||||
}
|
||||
|
||||
export class ProviderOrganizationOrganizationDetailsResponse extends ProviderOrganizationResponse {
|
||||
organizationName: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.organizationName = this.getResponseProperty("OrganizationName");
|
||||
}
|
||||
}
|
||||
16
libs/common/src/models/response/provider/providerResponse.ts
Normal file
16
libs/common/src/models/response/provider/providerResponse.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { BaseResponse } from "../baseResponse";
|
||||
|
||||
export class ProviderResponse extends BaseResponse {
|
||||
id: string;
|
||||
name: string;
|
||||
businessName: string;
|
||||
billingEmail: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.businessName = this.getResponseProperty("BusinessName");
|
||||
this.billingEmail = this.getResponseProperty("BillingEmail");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { OrganizationUserBulkPublicKeyResponse } from "../organizationUserBulkPublicKeyResponse";
|
||||
|
||||
export class ProviderUserBulkPublicKeyResponse extends OrganizationUserBulkPublicKeyResponse {}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "../baseResponse";
|
||||
|
||||
export class ProviderUserBulkResponse extends BaseResponse {
|
||||
id: string;
|
||||
error: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.error = this.getResponseProperty("Error");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import { ProviderUserStatusType } from "../../../enums/providerUserStatusType";
|
||||
import { ProviderUserType } from "../../../enums/providerUserType";
|
||||
import { PermissionsApi } from "../../api/permissionsApi";
|
||||
import { BaseResponse } from "../baseResponse";
|
||||
|
||||
export class ProviderUserResponse extends BaseResponse {
|
||||
id: string;
|
||||
userId: string;
|
||||
type: ProviderUserType;
|
||||
status: ProviderUserStatusType;
|
||||
permissions: PermissionsApi;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.permissions = new PermissionsApi(this.getResponseProperty("Permissions"));
|
||||
}
|
||||
}
|
||||
|
||||
export class ProviderUserUserDetailsResponse extends ProviderUserResponse {
|
||||
name: string;
|
||||
email: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/selectionReadOnlyResponse.ts
Normal file
14
libs/common/src/models/response/selectionReadOnlyResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SelectionReadOnlyResponse extends BaseResponse {
|
||||
id: string;
|
||||
readOnly: boolean;
|
||||
hidePasswords: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.readOnly = this.getResponseProperty("ReadOnly");
|
||||
this.hidePasswords = this.getResponseProperty("HidePasswords");
|
||||
}
|
||||
}
|
||||
35
libs/common/src/models/response/sendAccessResponse.ts
Normal file
35
libs/common/src/models/response/sendAccessResponse.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import { SendType } from "../../enums/sendType";
|
||||
import { SendFileApi } from "../api/sendFileApi";
|
||||
import { SendTextApi } from "../api/sendTextApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SendAccessResponse extends BaseResponse {
|
||||
id: string;
|
||||
type: SendType;
|
||||
name: string;
|
||||
file: SendFileApi;
|
||||
text: SendTextApi;
|
||||
expirationDate: Date;
|
||||
creatorIdentifier: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
|
||||
const text = this.getResponseProperty("Text");
|
||||
if (text != null) {
|
||||
this.text = new SendTextApi(text);
|
||||
}
|
||||
|
||||
const file = this.getResponseProperty("File");
|
||||
if (file != null) {
|
||||
this.file = new SendFileApi(file);
|
||||
}
|
||||
|
||||
this.expirationDate = this.getResponseProperty("ExpirationDate");
|
||||
this.creatorIdentifier = this.getResponseProperty("CreatorIdentifier");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SendFileDownloadDataResponse extends BaseResponse {
|
||||
id: string = null;
|
||||
url: string = null;
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.url = this.getResponseProperty("Url");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { FileUploadType } from "../../enums/fileUploadType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { SendResponse } from "./sendResponse";
|
||||
|
||||
export class SendFileUploadDataResponse extends BaseResponse {
|
||||
fileUploadType: FileUploadType;
|
||||
sendResponse: SendResponse;
|
||||
url: string = null;
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.fileUploadType = this.getResponseProperty("FileUploadType");
|
||||
const sendResponse = this.getResponseProperty("SendResponse");
|
||||
this.sendResponse = sendResponse == null ? null : new SendResponse(sendResponse);
|
||||
this.url = this.getResponseProperty("Url");
|
||||
}
|
||||
}
|
||||
52
libs/common/src/models/response/sendResponse.ts
Normal file
52
libs/common/src/models/response/sendResponse.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { SendType } from "../../enums/sendType";
|
||||
import { SendFileApi } from "../api/sendFileApi";
|
||||
import { SendTextApi } from "../api/sendTextApi";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SendResponse extends BaseResponse {
|
||||
id: string;
|
||||
accessId: string;
|
||||
type: SendType;
|
||||
name: string;
|
||||
notes: string;
|
||||
file: SendFileApi;
|
||||
text: SendTextApi;
|
||||
key: string;
|
||||
maxAccessCount?: number;
|
||||
accessCount: number;
|
||||
revisionDate: string;
|
||||
expirationDate: string;
|
||||
deletionDate: string;
|
||||
password: string;
|
||||
disable: boolean;
|
||||
hideEmail: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.accessId = this.getResponseProperty("AccessId");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.notes = this.getResponseProperty("Notes");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
this.maxAccessCount = this.getResponseProperty("MaxAccessCount");
|
||||
this.accessCount = this.getResponseProperty("AccessCount");
|
||||
this.revisionDate = this.getResponseProperty("RevisionDate");
|
||||
this.expirationDate = this.getResponseProperty("ExpirationDate");
|
||||
this.deletionDate = this.getResponseProperty("DeletionDate");
|
||||
this.password = this.getResponseProperty("Password");
|
||||
this.disable = this.getResponseProperty("Disabled") || false;
|
||||
this.hideEmail = this.getResponseProperty("HideEmail") || false;
|
||||
|
||||
const text = this.getResponseProperty("Text");
|
||||
if (text != null) {
|
||||
this.text = new SendTextApi(text);
|
||||
}
|
||||
|
||||
const file = this.getResponseProperty("File");
|
||||
if (file != null) {
|
||||
this.file = new SendFileApi(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
10
libs/common/src/models/response/ssoPreValidateResponse.ts
Normal file
10
libs/common/src/models/response/ssoPreValidateResponse.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SsoPreValidateResponse extends BaseResponse {
|
||||
token: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.token = this.getResponseProperty("Token");
|
||||
}
|
||||
}
|
||||
85
libs/common/src/models/response/subscriptionResponse.ts
Normal file
85
libs/common/src/models/response/subscriptionResponse.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class SubscriptionResponse extends BaseResponse {
|
||||
storageName: string;
|
||||
storageGb: number;
|
||||
maxStorageGb: number;
|
||||
subscription: BillingSubscriptionResponse;
|
||||
upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;
|
||||
license: any;
|
||||
expiration: string;
|
||||
usingInAppPurchase: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.storageName = this.getResponseProperty("StorageName");
|
||||
this.storageGb = this.getResponseProperty("StorageGb");
|
||||
this.maxStorageGb = this.getResponseProperty("MaxStorageGb");
|
||||
this.license = this.getResponseProperty("License");
|
||||
this.expiration = this.getResponseProperty("Expiration");
|
||||
this.usingInAppPurchase = this.getResponseProperty("UsingInAppPurchase");
|
||||
const subscription = this.getResponseProperty("Subscription");
|
||||
const upcomingInvoice = this.getResponseProperty("UpcomingInvoice");
|
||||
this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);
|
||||
this.upcomingInvoice =
|
||||
upcomingInvoice == null
|
||||
? null
|
||||
: new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingSubscriptionResponse extends BaseResponse {
|
||||
trialStartDate: string;
|
||||
trialEndDate: string;
|
||||
periodStartDate: string;
|
||||
periodEndDate: string;
|
||||
cancelledDate: string;
|
||||
cancelAtEndDate: boolean;
|
||||
status: string;
|
||||
cancelled: boolean;
|
||||
items: BillingSubscriptionItemResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.trialEndDate = this.getResponseProperty("TrialStartDate");
|
||||
this.trialEndDate = this.getResponseProperty("TrialEndDate");
|
||||
this.periodStartDate = this.getResponseProperty("PeriodStartDate");
|
||||
this.periodEndDate = this.getResponseProperty("PeriodEndDate");
|
||||
this.cancelledDate = this.getResponseProperty("CancelledDate");
|
||||
this.cancelAtEndDate = this.getResponseProperty("CancelAtEndDate");
|
||||
this.status = this.getResponseProperty("Status");
|
||||
this.cancelled = this.getResponseProperty("Cancelled");
|
||||
const items = this.getResponseProperty("Items");
|
||||
if (items != null) {
|
||||
this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingSubscriptionItemResponse extends BaseResponse {
|
||||
name: string;
|
||||
amount: number;
|
||||
quantity: number;
|
||||
interval: string;
|
||||
sponsoredSubscriptionItem: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.amount = this.getResponseProperty("Amount");
|
||||
this.quantity = this.getResponseProperty("Quantity");
|
||||
this.interval = this.getResponseProperty("Interval");
|
||||
this.sponsoredSubscriptionItem = this.getResponseProperty("SponsoredSubscriptionItem");
|
||||
}
|
||||
}
|
||||
|
||||
export class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {
|
||||
date: string;
|
||||
amount: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.date = this.getResponseProperty("Date");
|
||||
this.amount = this.getResponseProperty("Amount");
|
||||
}
|
||||
}
|
||||
57
libs/common/src/models/response/syncResponse.ts
Normal file
57
libs/common/src/models/response/syncResponse.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { CipherResponse } from "./cipherResponse";
|
||||
import { CollectionDetailsResponse } from "./collectionResponse";
|
||||
import { DomainsResponse } from "./domainsResponse";
|
||||
import { FolderResponse } from "./folderResponse";
|
||||
import { PolicyResponse } from "./policyResponse";
|
||||
import { ProfileResponse } from "./profileResponse";
|
||||
import { SendResponse } from "./sendResponse";
|
||||
|
||||
export class SyncResponse extends BaseResponse {
|
||||
profile?: ProfileResponse;
|
||||
folders: FolderResponse[] = [];
|
||||
collections: CollectionDetailsResponse[] = [];
|
||||
ciphers: CipherResponse[] = [];
|
||||
domains?: DomainsResponse;
|
||||
policies?: PolicyResponse[] = [];
|
||||
sends: SendResponse[] = [];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
|
||||
const profile = this.getResponseProperty("Profile");
|
||||
if (profile != null) {
|
||||
this.profile = new ProfileResponse(profile);
|
||||
}
|
||||
|
||||
const folders = this.getResponseProperty("Folders");
|
||||
if (folders != null) {
|
||||
this.folders = folders.map((f: any) => new FolderResponse(f));
|
||||
}
|
||||
|
||||
const collections = this.getResponseProperty("Collections");
|
||||
if (collections != null) {
|
||||
this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));
|
||||
}
|
||||
|
||||
const ciphers = this.getResponseProperty("Ciphers");
|
||||
if (ciphers != null) {
|
||||
this.ciphers = ciphers.map((c: any) => new CipherResponse(c));
|
||||
}
|
||||
|
||||
const domains = this.getResponseProperty("Domains");
|
||||
if (domains != null) {
|
||||
this.domains = new DomainsResponse(domains);
|
||||
}
|
||||
|
||||
const policies = this.getResponseProperty("Policies");
|
||||
if (policies != null) {
|
||||
this.policies = policies.map((p: any) => new PolicyResponse(p));
|
||||
}
|
||||
|
||||
const sends = this.getResponseProperty("Sends");
|
||||
if (sends != null) {
|
||||
this.sends = sends.map((s: any) => new SendResponse(s));
|
||||
}
|
||||
}
|
||||
}
|
||||
24
libs/common/src/models/response/taxInfoResponse.ts
Normal file
24
libs/common/src/models/response/taxInfoResponse.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TaxInfoResponse extends BaseResponse {
|
||||
taxId: string;
|
||||
taxIdType: string;
|
||||
line1: string;
|
||||
line2: string;
|
||||
city: string;
|
||||
state: string;
|
||||
country: string;
|
||||
postalCode: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.taxId = this.getResponseProperty("TaxIdNumber");
|
||||
this.taxIdType = this.getResponseProperty("TaxIdType");
|
||||
this.line1 = this.getResponseProperty("Line1");
|
||||
this.line2 = this.getResponseProperty("Line2");
|
||||
this.city = this.getResponseProperty("City");
|
||||
this.state = this.getResponseProperty("State");
|
||||
this.postalCode = this.getResponseProperty("PostalCode");
|
||||
this.country = this.getResponseProperty("Country");
|
||||
}
|
||||
}
|
||||
18
libs/common/src/models/response/taxRateResponse.ts
Normal file
18
libs/common/src/models/response/taxRateResponse.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TaxRateResponse extends BaseResponse {
|
||||
id: string;
|
||||
country: string;
|
||||
state: string;
|
||||
postalCode: string;
|
||||
rate: number;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.country = this.getResponseProperty("Country");
|
||||
this.state = this.getResponseProperty("State");
|
||||
this.postalCode = this.getResponseProperty("PostalCode");
|
||||
this.rate = this.getResponseProperty("Rate");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorAuthenticatorResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
key: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.key = this.getResponseProperty("Key");
|
||||
}
|
||||
}
|
||||
16
libs/common/src/models/response/twoFactorDuoResponse.ts
Normal file
16
libs/common/src/models/response/twoFactorDuoResponse.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorDuoResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
host: string;
|
||||
secretKey: string;
|
||||
integrationKey: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.host = this.getResponseProperty("Host");
|
||||
this.secretKey = this.getResponseProperty("SecretKey");
|
||||
this.integrationKey = this.getResponseProperty("IntegrationKey");
|
||||
}
|
||||
}
|
||||
12
libs/common/src/models/response/twoFactorEmailResponse.ts
Normal file
12
libs/common/src/models/response/twoFactorEmailResponse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorEmailResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
email: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.email = this.getResponseProperty("Email");
|
||||
}
|
||||
}
|
||||
14
libs/common/src/models/response/twoFactorProviderResponse.ts
Normal file
14
libs/common/src/models/response/twoFactorProviderResponse.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { TwoFactorProviderType } from "../../enums/twoFactorProviderType";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorProviderResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
type: TwoFactorProviderType;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.type = this.getResponseProperty("Type");
|
||||
}
|
||||
}
|
||||
10
libs/common/src/models/response/twoFactorRescoverResponse.ts
Normal file
10
libs/common/src/models/response/twoFactorRescoverResponse.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorRecoverResponse extends BaseResponse {
|
||||
code: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.code = this.getResponseProperty("Code");
|
||||
}
|
||||
}
|
||||
60
libs/common/src/models/response/twoFactorWebAuthnResponse.ts
Normal file
60
libs/common/src/models/response/twoFactorWebAuthnResponse.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import { Utils } from "../../misc/utils";
|
||||
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorWebAuthnResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
keys: KeyResponse[];
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
const keys = this.getResponseProperty("Keys");
|
||||
this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));
|
||||
}
|
||||
}
|
||||
|
||||
export class KeyResponse extends BaseResponse {
|
||||
name: string;
|
||||
id: number;
|
||||
migrated: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.name = this.getResponseProperty("Name");
|
||||
this.id = this.getResponseProperty("Id");
|
||||
this.migrated = this.getResponseProperty("Migrated");
|
||||
}
|
||||
}
|
||||
|
||||
export class ChallengeResponse extends BaseResponse implements PublicKeyCredentialCreationOptions {
|
||||
attestation?: AttestationConveyancePreference;
|
||||
authenticatorSelection?: AuthenticatorSelectionCriteria;
|
||||
challenge: BufferSource;
|
||||
excludeCredentials?: PublicKeyCredentialDescriptor[];
|
||||
extensions?: AuthenticationExtensionsClientInputs;
|
||||
pubKeyCredParams: PublicKeyCredentialParameters[];
|
||||
rp: PublicKeyCredentialRpEntity;
|
||||
timeout?: number;
|
||||
user: PublicKeyCredentialUserEntity;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.attestation = this.getResponseProperty("attestation");
|
||||
this.authenticatorSelection = this.getResponseProperty("authenticatorSelection");
|
||||
this.challenge = Utils.fromUrlB64ToArray(this.getResponseProperty("challenge"));
|
||||
this.excludeCredentials = this.getResponseProperty("excludeCredentials").map((c: any) => {
|
||||
c.id = Utils.fromUrlB64ToArray(c.id).buffer;
|
||||
return c;
|
||||
});
|
||||
this.extensions = this.getResponseProperty("extensions");
|
||||
this.pubKeyCredParams = this.getResponseProperty("pubKeyCredParams");
|
||||
this.rp = this.getResponseProperty("rp");
|
||||
this.timeout = this.getResponseProperty("timeout");
|
||||
|
||||
const user = this.getResponseProperty("user");
|
||||
user.id = Utils.fromUrlB64ToArray(user.id);
|
||||
|
||||
this.user = user;
|
||||
}
|
||||
}
|
||||
22
libs/common/src/models/response/twoFactorYubiKeyResponse.ts
Normal file
22
libs/common/src/models/response/twoFactorYubiKeyResponse.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class TwoFactorYubiKeyResponse extends BaseResponse {
|
||||
enabled: boolean;
|
||||
key1: string;
|
||||
key2: string;
|
||||
key3: string;
|
||||
key4: string;
|
||||
key5: string;
|
||||
nfc: boolean;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.enabled = this.getResponseProperty("Enabled");
|
||||
this.key1 = this.getResponseProperty("Key1");
|
||||
this.key2 = this.getResponseProperty("Key2");
|
||||
this.key3 = this.getResponseProperty("Key3");
|
||||
this.key4 = this.getResponseProperty("Key4");
|
||||
this.key5 = this.getResponseProperty("Key5");
|
||||
this.nfc = this.getResponseProperty("Nfc");
|
||||
}
|
||||
}
|
||||
12
libs/common/src/models/response/userKeyResponse.ts
Normal file
12
libs/common/src/models/response/userKeyResponse.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
|
||||
export class UserKeyResponse extends BaseResponse {
|
||||
userId: string;
|
||||
publicKey: string;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.userId = this.getResponseProperty("UserId");
|
||||
this.publicKey = this.getResponseProperty("PublicKey");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user