use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CalculateSessionResponse {
#[serde(rename = "billing_country")]
pub billing_country: models::CountryCodeAlpha2,
#[serde(rename = "currency")]
pub currency: models::Currency,
#[serde(rename = "current_breakup")]
pub current_breakup: Box<models::CurrentBreakup>,
#[serde(rename = "product_cart")]
pub product_cart: Vec<models::CalculatedProductCartItem>,
#[serde(rename = "recurring_breakup", skip_serializing_if = "Option::is_none")]
pub recurring_breakup: Option<Box<models::RecurringBreakup>>,
#[serde(rename = "tax_id_err_msg", skip_serializing_if = "Option::is_none")]
pub tax_id_err_msg: Option<String>,
#[serde(rename = "total_price")]
pub total_price: i32,
#[serde(rename = "total_tax", skip_serializing_if = "Option::is_none")]
pub total_tax: Option<i32>,
}
impl CalculateSessionResponse {
pub fn new(billing_country: models::CountryCodeAlpha2, currency: models::Currency, current_breakup: models::CurrentBreakup, product_cart: Vec<models::CalculatedProductCartItem>, total_price: i32) -> CalculateSessionResponse {
CalculateSessionResponse {
billing_country,
currency,
current_breakup: Box::new(current_breakup),
product_cart,
recurring_breakup: None,
tax_id_err_msg: None,
total_price,
total_tax: None,
}
}
}