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(
38 rename = "openOrgInvite",
39 alias = "OpenOrgInvite",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub open_org_invite: Option<Box<models::RegisterStartOpenOrgInviteRequestModel>>,
43 #[serde(rename = "productTier", alias = "ProductTier")]
44 pub product_tier: models::ProductTierType,
45 #[serde(rename = "products", alias = "Products")]
46 pub products: Vec<models::ProductType>,
47 #[serde(
48 rename = "trialLength",
49 alias = "TrialLength",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub trial_length: Option<i32>,
53 #[serde(
54 rename = "paymentOptional",
55 alias = "PaymentOptional",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub payment_optional: Option<bool>,
59}
60
61impl TrialSendVerificationEmailRequestModel {
62 pub fn new(
63 email: Option<String>,
64 product_tier: models::ProductTierType,
65 products: Vec<models::ProductType>,
66 ) -> TrialSendVerificationEmailRequestModel {
67 TrialSendVerificationEmailRequestModel {
68 name: None,
69 email,
70 receive_marketing_emails: None,
71 from_marketing: None,
72 open_org_invite: None,
73 product_tier,
74 products,
75 trial_length: None,
76 payment_optional: None,
77 }
78 }
79}