Skip to main content

hanzo_client/models/
subscription.rs

1/*
2 * Hanzo Cloud API
3 *
4 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
5 *
6 * The version of the OpenAPI document: v1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Subscription {
16    #[serde(rename = "cancelAtPeriodEnd", skip_serializing_if = "Option::is_none")]
17    pub cancel_at_period_end: Option<bool>,
18    #[serde(rename = "canceledAt", skip_serializing_if = "Option::is_none")]
19    pub canceled_at: Option<String>,
20    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
21    pub created_at: Option<String>,
22    #[serde(rename = "currentPeriodEnd", skip_serializing_if = "Option::is_none")]
23    pub current_period_end: Option<String>,
24    #[serde(rename = "currentPeriodStart", skip_serializing_if = "Option::is_none")]
25    pub current_period_start: Option<String>,
26    #[serde(rename = "defaultPaymentMethod", skip_serializing_if = "Option::is_none")]
27    pub default_payment_method: Option<String>,
28    #[serde(rename = "endedAt", skip_serializing_if = "Option::is_none")]
29    pub ended_at: Option<String>,
30    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
31    pub id: Option<String>,
32    /// MRRCents is what this subscription contributes per month — commerce's own figure, interval-normalized and multiplied by its seats, so no reader re-derives it from price and interval.
33    #[serde(rename = "mrrCents", skip_serializing_if = "Option::is_none")]
34    pub mrr_cents: Option<i32>,
35    #[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
36    pub plan: Option<Box<models::SubscriptionPlan>>,
37    #[serde(rename = "planId", skip_serializing_if = "Option::is_none")]
38    pub plan_id: Option<String>,
39    #[serde(rename = "providerType", skip_serializing_if = "Option::is_none")]
40    pub provider_type: Option<String>,
41    #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
42    pub quantity: Option<i32>,
43    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
44    pub status: Option<String>,
45    #[serde(rename = "trialEnd", skip_serializing_if = "Option::is_none")]
46    pub trial_end: Option<String>,
47    #[serde(rename = "trialStart", skip_serializing_if = "Option::is_none")]
48    pub trial_start: Option<String>,
49    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
50    pub updated_at: Option<String>,
51    #[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
52    pub user_id: Option<String>,
53}
54
55impl Subscription {
56    pub fn new() -> Subscription {
57        Subscription {
58            cancel_at_period_end: None,
59            canceled_at: None,
60            created_at: None,
61            current_period_end: None,
62            current_period_start: None,
63            default_payment_method: None,
64            ended_at: None,
65            id: None,
66            mrr_cents: None,
67            plan: None,
68            plan_id: None,
69            provider_type: None,
70            quantity: None,
71            status: None,
72            trial_end: None,
73            trial_start: None,
74            updated_at: None,
75            user_id: None,
76        }
77    }
78}
79