bitwarden_api_identity/models/
trial_send_verification_email_request_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TrialSendVerificationEmailRequestModel {
17 #[serde(
18 rename = "name",
19 alias = "Name",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub name: Option<String>,
23 #[serde(rename = "email", alias = "Email")]
24 pub email: Option<String>,
25 #[serde(
26 rename = "receiveMarketingEmails",
27 alias = "ReceiveMarketingEmails",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub receive_marketing_emails: Option<bool>,
31 #[serde(
32 rename = "fromMarketing",
33 alias = "FromMarketing",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub from_marketing: Option<String>,
37 #[serde(rename = "productTier", alias = "ProductTier")]
38 pub product_tier: models::ProductTierType,
39 #[serde(rename = "products", alias = "Products")]
40 pub products: Vec<models::ProductType>,
41 #[serde(
42 rename = "trialLength",
43 alias = "TrialLength",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub trial_length: Option<i32>,
47 #[serde(
48 rename = "paymentOptional",
49 alias = "PaymentOptional",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub payment_optional: Option<bool>,
53}
54
55impl TrialSendVerificationEmailRequestModel {
56 pub fn new(
57 email: Option<String>,
58 product_tier: models::ProductTierType,
59 products: Vec<models::ProductType>,
60 ) -> TrialSendVerificationEmailRequestModel {
61 TrialSendVerificationEmailRequestModel {
62 name: None,
63 email,
64 receive_marketing_emails: None,
65 from_marketing: None,
66 product_tier,
67 products,
68 trial_length: None,
69 payment_optional: None,
70 }
71 }
72}