mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
96 lines
4.0 KiB
TypeScript
96 lines
4.0 KiB
TypeScript
import { PlanType } from "../../enums/planType";
|
|
import { ProductType } from "../../enums/productType";
|
|
|
|
import { BaseResponse } from "./base.response";
|
|
|
|
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");
|
|
}
|
|
}
|