bitwarden_api_api/models/
password_manager_plan_features_response_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PasswordManagerPlanFeaturesResponseModel {
17 #[serde(
18 rename = "stripePlanId",
19 alias = "StripePlanId",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub stripe_plan_id: Option<String>,
23 #[serde(
24 rename = "stripeSeatPlanId",
25 alias = "StripeSeatPlanId",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub stripe_seat_plan_id: Option<String>,
29 #[serde(
30 rename = "stripeProviderPortalSeatPlanId",
31 alias = "StripeProviderPortalSeatPlanId",
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub stripe_provider_portal_seat_plan_id: Option<String>,
35 #[serde(
36 rename = "basePrice",
37 alias = "BasePrice",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub base_price: Option<f64>,
41 #[serde(
42 rename = "seatPrice",
43 alias = "SeatPrice",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub seat_price: Option<f64>,
47 #[serde(
48 rename = "providerPortalSeatPrice",
49 alias = "ProviderPortalSeatPrice",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub provider_portal_seat_price: Option<f64>,
53 #[serde(
54 rename = "allowSeatAutoscale",
55 alias = "AllowSeatAutoscale",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub allow_seat_autoscale: Option<bool>,
59 #[serde(
60 rename = "hasAdditionalSeatsOption",
61 alias = "HasAdditionalSeatsOption",
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub has_additional_seats_option: Option<bool>,
65 #[serde(
66 rename = "maxAdditionalSeats",
67 alias = "MaxAdditionalSeats",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub max_additional_seats: Option<i32>,
71 #[serde(
72 rename = "baseSeats",
73 alias = "BaseSeats",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub base_seats: Option<i32>,
77 #[serde(
78 rename = "hasPremiumAccessOption",
79 alias = "HasPremiumAccessOption",
80 skip_serializing_if = "Option::is_none"
81 )]
82 pub has_premium_access_option: Option<bool>,
83 #[serde(
84 rename = "stripePremiumAccessPlanId",
85 alias = "StripePremiumAccessPlanId",
86 skip_serializing_if = "Option::is_none"
87 )]
88 pub stripe_premium_access_plan_id: Option<String>,
89 #[serde(
90 rename = "premiumAccessOptionPrice",
91 alias = "PremiumAccessOptionPrice",
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub premium_access_option_price: Option<f64>,
95 #[serde(
96 rename = "maxSeats",
97 alias = "MaxSeats",
98 skip_serializing_if = "Option::is_none"
99 )]
100 pub max_seats: Option<i32>,
101 #[serde(
102 rename = "baseStorageGb",
103 alias = "BaseStorageGb",
104 skip_serializing_if = "Option::is_none"
105 )]
106 pub base_storage_gb: Option<i32>,
107 #[serde(
108 rename = "hasAdditionalStorageOption",
109 alias = "HasAdditionalStorageOption",
110 skip_serializing_if = "Option::is_none"
111 )]
112 pub has_additional_storage_option: Option<bool>,
113 #[serde(
114 rename = "additionalStoragePricePerGb",
115 alias = "AdditionalStoragePricePerGb",
116 skip_serializing_if = "Option::is_none"
117 )]
118 pub additional_storage_price_per_gb: Option<f64>,
119 #[serde(
120 rename = "stripeStoragePlanId",
121 alias = "StripeStoragePlanId",
122 skip_serializing_if = "Option::is_none"
123 )]
124 pub stripe_storage_plan_id: Option<String>,
125 #[serde(
126 rename = "maxAdditionalStorage",
127 alias = "MaxAdditionalStorage",
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub max_additional_storage: Option<i32>,
131 #[serde(
132 rename = "maxCollections",
133 alias = "MaxCollections",
134 skip_serializing_if = "Option::is_none"
135 )]
136 pub max_collections: Option<i32>,
137}
138
139impl PasswordManagerPlanFeaturesResponseModel {
140 pub fn new() -> PasswordManagerPlanFeaturesResponseModel {
141 PasswordManagerPlanFeaturesResponseModel {
142 stripe_plan_id: None,
143 stripe_seat_plan_id: None,
144 stripe_provider_portal_seat_plan_id: None,
145 base_price: None,
146 seat_price: None,
147 provider_portal_seat_price: None,
148 allow_seat_autoscale: None,
149 has_additional_seats_option: None,
150 max_additional_seats: None,
151 base_seats: None,
152 has_premium_access_option: None,
153 stripe_premium_access_plan_id: None,
154 premium_access_option_price: None,
155 max_seats: None,
156 base_storage_gb: None,
157 has_additional_storage_option: None,
158 additional_storage_price_per_gb: None,
159 stripe_storage_plan_id: None,
160 max_additional_storage: None,
161 max_collections: None,
162 }
163 }
164}