1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 16:23:44 +00:00
Files
browser/src/models/response/planResponse.ts

94 lines
4.1 KiB
TypeScript

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;
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.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');
}
}