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(rename = "stripePlanId", skip_serializing_if = "Option::is_none")]
18 pub stripe_plan_id: Option<String>,
19 #[serde(rename = "stripeSeatPlanId", skip_serializing_if = "Option::is_none")]
20 pub stripe_seat_plan_id: Option<String>,
21 #[serde(
22 rename = "stripeProviderPortalSeatPlanId",
23 skip_serializing_if = "Option::is_none"
24 )]
25 pub stripe_provider_portal_seat_plan_id: Option<String>,
26 #[serde(rename = "basePrice", skip_serializing_if = "Option::is_none")]
27 pub base_price: Option<f64>,
28 #[serde(rename = "seatPrice", skip_serializing_if = "Option::is_none")]
29 pub seat_price: Option<f64>,
30 #[serde(
31 rename = "providerPortalSeatPrice",
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub provider_portal_seat_price: Option<f64>,
35 #[serde(rename = "allowSeatAutoscale", skip_serializing_if = "Option::is_none")]
36 pub allow_seat_autoscale: Option<bool>,
37 #[serde(
38 rename = "hasAdditionalSeatsOption",
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub has_additional_seats_option: Option<bool>,
42 #[serde(rename = "maxAdditionalSeats", skip_serializing_if = "Option::is_none")]
43 pub max_additional_seats: Option<i32>,
44 #[serde(rename = "baseSeats", skip_serializing_if = "Option::is_none")]
45 pub base_seats: Option<i32>,
46 #[serde(
47 rename = "hasPremiumAccessOption",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub has_premium_access_option: Option<bool>,
51 #[serde(
52 rename = "stripePremiumAccessPlanId",
53 skip_serializing_if = "Option::is_none"
54 )]
55 pub stripe_premium_access_plan_id: Option<String>,
56 #[serde(
57 rename = "premiumAccessOptionPrice",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub premium_access_option_price: Option<f64>,
61 #[serde(rename = "maxSeats", skip_serializing_if = "Option::is_none")]
62 pub max_seats: Option<i32>,
63 #[serde(rename = "baseStorageGb", skip_serializing_if = "Option::is_none")]
64 pub base_storage_gb: Option<i32>,
65 #[serde(
66 rename = "hasAdditionalStorageOption",
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub has_additional_storage_option: Option<bool>,
70 #[serde(
71 rename = "additionalStoragePricePerGb",
72 skip_serializing_if = "Option::is_none"
73 )]
74 pub additional_storage_price_per_gb: Option<f64>,
75 #[serde(
76 rename = "stripeStoragePlanId",
77 skip_serializing_if = "Option::is_none"
78 )]
79 pub stripe_storage_plan_id: Option<String>,
80 #[serde(
81 rename = "maxAdditionalStorage",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub max_additional_storage: Option<i32>,
85 #[serde(rename = "maxCollections", skip_serializing_if = "Option::is_none")]
86 pub max_collections: Option<i32>,
87}
88
89impl PasswordManagerPlanFeaturesResponseModel {
90 pub fn new() -> PasswordManagerPlanFeaturesResponseModel {
91 PasswordManagerPlanFeaturesResponseModel {
92 stripe_plan_id: None,
93 stripe_seat_plan_id: None,
94 stripe_provider_portal_seat_plan_id: None,
95 base_price: None,
96 seat_price: None,
97 provider_portal_seat_price: None,
98 allow_seat_autoscale: None,
99 has_additional_seats_option: None,
100 max_additional_seats: None,
101 base_seats: None,
102 has_premium_access_option: None,
103 stripe_premium_access_plan_id: None,
104 premium_access_option_price: None,
105 max_seats: None,
106 base_storage_gb: None,
107 has_additional_storage_option: None,
108 additional_storage_price_per_gb: None,
109 stripe_storage_plan_id: None,
110 max_additional_storage: None,
111 max_collections: None,
112 }
113 }
114}