Skip to main content

bitwarden_api_identity/models/
trial_send_verification_email_request_model.rs

1/*
2 * Bitwarden Identity
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: v1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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}