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 BillingSubscription {
    #[serde(
        rename = "trialStartDate",
        alias = "TrialStartDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub trial_start_date: Option<String>,
    #[serde(
        rename = "trialEndDate",
        alias = "TrialEndDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub trial_end_date: Option<String>,
    #[serde(
        rename = "periodStartDate",
        alias = "PeriodStartDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub period_start_date: Option<String>,
    #[serde(
        rename = "periodEndDate",
        alias = "PeriodEndDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub period_end_date: Option<String>,
    #[serde(
        rename = "cancelledDate",
        alias = "CancelledDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub cancelled_date: Option<String>,
    #[serde(
        rename = "cancelAtEndDate",
        alias = "CancelAtEndDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub cancel_at_end_date: Option<bool>,
    #[serde(
        rename = "status",
        alias = "Status",
        skip_serializing_if = "Option::is_none"
    )]
    pub status: Option<String>,
    #[serde(
        rename = "cancelled",
        alias = "Cancelled",
        skip_serializing_if = "Option::is_none"
    )]
    pub cancelled: Option<bool>,
    #[serde(
        rename = "items",
        alias = "Items",
        skip_serializing_if = "Option::is_none"
    )]
    pub items: Option<Vec<models::BillingSubscriptionItem>>,
    #[serde(
        rename = "collectionMethod",
        alias = "CollectionMethod",
        skip_serializing_if = "Option::is_none"
    )]
    pub collection_method: Option<String>,
    #[serde(
        rename = "suspensionDate",
        alias = "SuspensionDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub suspension_date: Option<String>,
    #[serde(
        rename = "unpaidPeriodEndDate",
        alias = "UnpaidPeriodEndDate",
        skip_serializing_if = "Option::is_none"
    )]
    pub unpaid_period_end_date: Option<String>,
    #[serde(
        rename = "gracePeriod",
        alias = "GracePeriod",
        skip_serializing_if = "Option::is_none"
    )]
    pub grace_period: Option<i32>,
}

impl BillingSubscription {
    pub fn new() -> BillingSubscription {
        BillingSubscription {
            trial_start_date: None,
            trial_end_date: None,
            period_start_date: None,
            period_end_date: None,
            cancelled_date: None,
            cancel_at_end_date: None,
            status: None,
            cancelled: None,
            items: None,
            collection_method: None,
            suspension_date: None,
            unpaid_period_end_date: None,
            grace_period: None,
        }
    }
}