bitwarden-api-api 3.0.0

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

use serde::{Deserialize, Serialize};

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PlanResponseModel {
    #[serde(
        rename = "object",
        alias = "Object",
        skip_serializing_if = "Option::is_none"
    )]
    pub object: Option<String>,
    #[serde(
        rename = "type",
        alias = "R#type",
        skip_serializing_if = "Option::is_none"
    )]
    pub r#type: Option<models::PlanType>,
    #[serde(
        rename = "productTier",
        alias = "ProductTier",
        skip_serializing_if = "Option::is_none"
    )]
    pub product_tier: Option<models::ProductTierType>,
    #[serde(
        rename = "name",
        alias = "Name",
        skip_serializing_if = "Option::is_none"
    )]
    pub name: Option<String>,
    #[serde(
        rename = "isAnnual",
        alias = "IsAnnual",
        skip_serializing_if = "Option::is_none"
    )]
    pub is_annual: Option<bool>,
    #[serde(
        rename = "nameLocalizationKey",
        alias = "NameLocalizationKey",
        skip_serializing_if = "Option::is_none"
    )]
    pub name_localization_key: Option<String>,
    #[serde(
        rename = "descriptionLocalizationKey",
        alias = "DescriptionLocalizationKey",
        skip_serializing_if = "Option::is_none"
    )]
    pub description_localization_key: Option<String>,
    #[serde(
        rename = "canBeUsedByBusiness",
        alias = "CanBeUsedByBusiness",
        skip_serializing_if = "Option::is_none"
    )]
    pub can_be_used_by_business: Option<bool>,
    #[serde(
        rename = "trialPeriodDays",
        alias = "TrialPeriodDays",
        skip_serializing_if = "Option::is_none"
    )]
    pub trial_period_days: Option<i32>,
    #[serde(
        rename = "hasSelfHost",
        alias = "HasSelfHost",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_self_host: Option<bool>,
    #[serde(
        rename = "hasPolicies",
        alias = "HasPolicies",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_policies: Option<bool>,
    #[serde(
        rename = "hasGroups",
        alias = "HasGroups",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_groups: Option<bool>,
    #[serde(
        rename = "hasDirectory",
        alias = "HasDirectory",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_directory: Option<bool>,
    #[serde(
        rename = "hasEvents",
        alias = "HasEvents",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_events: Option<bool>,
    #[serde(
        rename = "hasTotp",
        alias = "HasTotp",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_totp: Option<bool>,
    #[serde(
        rename = "has2fa",
        alias = "Has2fa",
        skip_serializing_if = "Option::is_none"
    )]
    pub has2fa: Option<bool>,
    #[serde(
        rename = "hasApi",
        alias = "HasApi",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_api: Option<bool>,
    #[serde(
        rename = "hasSso",
        alias = "HasSso",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_sso: Option<bool>,
    #[serde(
        rename = "hasOrganizationDomains",
        alias = "HasOrganizationDomains",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_organization_domains: Option<bool>,
    #[serde(
        rename = "hasResetPassword",
        alias = "HasResetPassword",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_reset_password: Option<bool>,
    #[serde(
        rename = "usersGetPremium",
        alias = "UsersGetPremium",
        skip_serializing_if = "Option::is_none"
    )]
    pub users_get_premium: Option<bool>,
    #[serde(
        rename = "hasMyItems",
        alias = "HasMyItems",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_my_items: Option<bool>,
    #[serde(
        rename = "hasInviteLinks",
        alias = "HasInviteLinks",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_invite_links: Option<bool>,
    #[serde(
        rename = "upgradeSortOrder",
        alias = "UpgradeSortOrder",
        skip_serializing_if = "Option::is_none"
    )]
    pub upgrade_sort_order: Option<i32>,
    #[serde(
        rename = "displaySortOrder",
        alias = "DisplaySortOrder",
        skip_serializing_if = "Option::is_none"
    )]
    pub display_sort_order: Option<i32>,
    #[serde(
        rename = "legacyYear",
        alias = "LegacyYear",
        skip_serializing_if = "Option::is_none"
    )]
    pub legacy_year: Option<i32>,
    #[serde(
        rename = "disabled",
        alias = "Disabled",
        skip_serializing_if = "Option::is_none"
    )]
    pub disabled: Option<bool>,
    #[serde(
        rename = "secretsManager",
        alias = "SecretsManager",
        skip_serializing_if = "Option::is_none"
    )]
    pub secrets_manager: Option<Box<models::SecretsManagerPlanFeaturesResponseModel>>,
    #[serde(
        rename = "passwordManager",
        alias = "PasswordManager",
        skip_serializing_if = "Option::is_none"
    )]
    pub password_manager: Option<Box<models::PasswordManagerPlanFeaturesResponseModel>>,
}

impl PlanResponseModel {
    pub fn new() -> PlanResponseModel {
        PlanResponseModel {
            object: None,
            r#type: None,
            product_tier: None,
            name: None,
            is_annual: None,
            name_localization_key: None,
            description_localization_key: None,
            can_be_used_by_business: None,
            trial_period_days: None,
            has_self_host: None,
            has_policies: None,
            has_groups: None,
            has_directory: None,
            has_events: None,
            has_totp: None,
            has2fa: None,
            has_api: None,
            has_sso: None,
            has_organization_domains: None,
            has_reset_password: None,
            users_get_premium: None,
            has_my_items: None,
            has_invite_links: None,
            upgrade_sort_order: None,
            display_sort_order: None,
            legacy_year: None,
            disabled: None,
            secrets_manager: None,
            password_manager: None,
        }
    }
}