mirror of
https://github.com/bitwarden/jslib
synced 2026-01-09 03:53:18 +00:00
* Families for enterprise/account settings (#541) * Add node tests to pipeline (#525) * Add support for crypto agent (#520) * feat: add an importer for Safari (CSV) (#512) * feat(importers/safariCsvImporter): add the importer for Safari (CSV) * Revert changes to package-lock.json Co-authored-by: Thomas Rittson <trittson@bitwarden.com> * Dynamically set electron user agent (#524) * Dynamically set electron user agent * PR review * linter fixes * Test agent static version does not change * Fix formatting * Add role="alert" to callouts only when enforceAlert is passed (#528) * Add role="alert" to callouts when enforceAlert is passed * Remove ElementRef and do a different way * Rename input variable * Add PR template (#529) * Allow managers to create collections (#530) * Pass in null for sso organziation for now. (#531) This will bypass cryptoagent * Add Linked Field as custom field type (#431) * Basic proof of concept of Linked custom fields * Linked Fields for all cipher types, use dropdown * Move linkedFieldOptions to view models * Move add-edit custom fields to own component * Fix change handling if cipherType changes * Use Field.LinkedId to store linked field info * Refactor accessors in cipherView for type safety * Use map for linkedFieldOptions * Refactor: use decorators to record linkable info * Add ItemView * Use enums for linked field ids * Add union type for linkedId enums, add jsdoc comment * Use parameter properties for linkedFieldOption Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * Fix type casting Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * Update electron to 14.2.0 (#534) * Update electron to 14.1.1 * Update electron to 14.2.0 and fix it to this version * Removed ^ from electron in electron/package-lock.json * [Linked fields] Reset linkedIds if cipher type changes (#535) * Reset linkedIds if cipher type changes * Only reset linkedId if !editmode * Add call to server * Fix linting * Add call to server * Fix linting * Run linting * Add new properties to organization * Remove organizationUserId from request model * Added in org sponsorship calls * Sponsorship redeem existing org flow Co-authored-by: Matt Gibson <mgibson@bitwarden.com> Co-authored-by: Oscar Hinton <oscar@oscarhinton.com> Co-authored-by: pan93412 <pan93412@gmail.com> Co-authored-by: Thomas Rittson <trittson@bitwarden.com> Co-authored-by: Robyn MacCallum <nickersthecat@gmail.com> Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> * Revoke sponsorship uses organization id * Expect information in billing items on whether the item is sponsored * Families for enterprise/redeem card (#546) * Add userservice helper * Run linter * Add resend email to api service (#548) * Remove unneeded imports * Remove unneeded files * Add newline * Reorder import * Remove accidental newline * Fix lint issue Co-authored-by: Matt Gibson <mgibson@bitwarden.com> Co-authored-by: Oscar Hinton <oscar@oscarhinton.com> Co-authored-by: pan93412 <pan93412@gmail.com> Co-authored-by: Thomas Rittson <trittson@bitwarden.com> Co-authored-by: Robyn MacCallum <nickersthecat@gmail.com> Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
84 lines
3.2 KiB
TypeScript
84 lines
3.2 KiB
TypeScript
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');
|
|
}
|
|
}
|