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(
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}