Skip to main content

bitwarden_api_api/models/
organization_subscription_purchase_request.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
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 OrganizationSubscriptionPurchaseRequest {
17    #[serde(rename = "tier", alias = "Tier")]
18    pub tier: models::ProductTierType,
19    #[serde(rename = "cadence", alias = "Cadence")]
20    pub cadence: models::PlanCadenceType,
21    #[serde(rename = "passwordManager", alias = "PasswordManager")]
22    pub password_manager: Box<models::PasswordManagerPurchaseSelections>,
23    #[serde(
24        rename = "secretsManager",
25        alias = "SecretsManager",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub secrets_manager: Option<Box<models::SecretsManagerPurchaseSelections>>,
29    #[serde(
30        rename = "coupons",
31        alias = "Coupons",
32        skip_serializing_if = "Option::is_none"
33    )]
34    pub coupons: Option<Vec<String>>,
35}
36
37impl OrganizationSubscriptionPurchaseRequest {
38    pub fn new(
39        tier: models::ProductTierType,
40        cadence: models::PlanCadenceType,
41        password_manager: models::PasswordManagerPurchaseSelections,
42    ) -> OrganizationSubscriptionPurchaseRequest {
43        OrganizationSubscriptionPurchaseRequest {
44            tier,
45            cadence,
46            password_manager: Box::new(password_manager),
47            secrets_manager: None,
48            coupons: None,
49        }
50    }
51}