Skip to main content

artifacts/models/
subscribe_request_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct SubscribeRequestSchema {
7    /// Stripe membership plan to purchase.
8    #[serde(rename = "plan")]
9    pub plan: models::StripeSubscriptionPlan,
10    /// Whether to create a recurring Stripe subscription. Set to false to buy membership time once.
11    #[serde(rename = "recurring", skip_serializing_if = "Option::is_none")]
12    pub recurring: Option<bool>,
13}
14
15impl SubscribeRequestSchema {
16    pub fn new(plan: models::StripeSubscriptionPlan) -> SubscribeRequestSchema {
17        SubscribeRequestSchema {
18            plan,
19            recurring: None,
20        }
21    }
22}