#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateSubscriptionBody {
#[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
pub currency: Option<CurrencyEnum>,
#[serde(rename = "interval")]
pub interval: IntervalEnum,
#[serde(rename = "plan")]
pub plan: String,
#[serde(rename = "provision_first_project")]
pub provision_first_project: String,
#[serde(rename = "return_to", skip_serializing_if = "Option::is_none")]
pub return_to: Option<String>,
}
impl CreateSubscriptionBody {
pub fn new(interval: IntervalEnum, plan: String, provision_first_project: String) -> CreateSubscriptionBody {
CreateSubscriptionBody {
currency: None,
interval,
plan,
provision_first_project,
return_to: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CurrencyEnum {
#[serde(rename = "usd")]
Usd,
#[serde(rename = "eur")]
Eur,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum IntervalEnum {
#[serde(rename = "monthly")]
Monthly,
#[serde(rename = "yearly")]
Yearly,
}