bitwarden-api-identity 3.0.0

Api bindings for the Bitwarden Identity API.
Documentation
/*
 * Bitwarden Identity
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 * Generated by: https://openapi-generator.tech
 */

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TrialSendVerificationEmailRequestModel {
    #[serde(
        rename = "name",
        alias = "Name",
        skip_serializing_if = "Option::is_none"
    )]
    pub name: Option<String>,
    #[serde(rename = "email", alias = "Email")]
    pub email: Option<String>,
    #[serde(
        rename = "receiveMarketingEmails",
        alias = "ReceiveMarketingEmails",
        skip_serializing_if = "Option::is_none"
    )]
    pub receive_marketing_emails: Option<bool>,
    #[serde(
        rename = "fromMarketing",
        alias = "FromMarketing",
        skip_serializing_if = "Option::is_none"
    )]
    pub from_marketing: Option<String>,
    #[serde(
        rename = "productTier",
        alias = "ProductTier",
        skip_serializing_if = "Option::is_none"
    )]
    pub product_tier: Option<models::ProductTierType>,
    #[serde(
        rename = "products",
        alias = "Products",
        skip_serializing_if = "Option::is_none"
    )]
    pub products: Option<Vec<models::ProductType>>,
    #[serde(
        rename = "trialLength",
        alias = "TrialLength",
        skip_serializing_if = "Option::is_none"
    )]
    pub trial_length: Option<i32>,
    #[serde(
        rename = "paymentOptional",
        alias = "PaymentOptional",
        skip_serializing_if = "Option::is_none"
    )]
    pub payment_optional: Option<bool>,
}

impl TrialSendVerificationEmailRequestModel {
    pub fn new(email: Option<String>) -> TrialSendVerificationEmailRequestModel {
        TrialSendVerificationEmailRequestModel {
            name: None,
            email,
            receive_marketing_emails: None,
            from_marketing: None,
            product_tier: None,
            products: None,
            trial_length: None,
            payment_optional: None,
        }
    }
}