printnanny_api_client/models/
order.rs

1/*
2 * printnanny-api-client
3 *
4 * Official API client library for printnanny.ai
5 *
6 * The version of the OpenAPI document: 0.135.1
7 * Contact: leigh@printnanny.ai
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// Order : Djstripe's representation of Stripe Checkout model is missing a number of fields, like subtotal amount and shipping/tax charges  stripe_checkout_session_data is the raw JSON returned by stripe.checkout.Session.retrieve
12
13
14
15#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
16pub struct Order {
17    #[serde(rename = "created_dt")]
18    pub created_dt: String,
19    #[serde(rename = "djstripe_checkout_session")]
20    pub djstripe_checkout_session: Option<Box<crate::models::DjStripeCheckoutSession>>,
21    #[serde(rename = "djstripe_customer")]
22    pub djstripe_customer: Option<Box<crate::models::DjStripeCustomer>>,
23    #[serde(rename = "djstripe_payment_intent")]
24    pub djstripe_payment_intent: Option<Box<crate::models::DjStripePaymentIntent>>,
25    #[serde(rename = "email")]
26    pub email: String,
27    #[serde(rename = "id")]
28    pub id: String,
29    #[serde(rename = "is_shippable")]
30    pub is_shippable: bool,
31    #[serde(rename = "is_subscription")]
32    pub is_subscription: bool,
33    #[serde(rename = "last_status")]
34    pub last_status: Box<crate::models::OrderStatus>,
35    #[serde(rename = "products")]
36    pub products: Vec<crate::models::Product>,
37    #[serde(rename = "status_history")]
38    pub status_history: Vec<crate::models::OrderStatus>,
39    #[serde(rename = "stripe_checkout_session_data")]
40    pub stripe_checkout_session_data: ::std::collections::HashMap<String, serde_json::Value>,
41    #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
42    pub user: Option<Box<crate::models::User>>,
43    #[serde(rename = "receipt_url")]
44    pub receipt_url: Option<String>,
45    #[serde(rename = "portal_url")]
46    pub portal_url: Option<String>,
47}
48
49impl Order {
50    /// Djstripe's representation of Stripe Checkout model is missing a number of fields, like subtotal amount and shipping/tax charges  stripe_checkout_session_data is the raw JSON returned by stripe.checkout.Session.retrieve
51    pub fn new(created_dt: String, djstripe_checkout_session: Option<crate::models::DjStripeCheckoutSession>, djstripe_customer: Option<crate::models::DjStripeCustomer>, djstripe_payment_intent: Option<crate::models::DjStripePaymentIntent>, email: String, id: String, is_shippable: bool, is_subscription: bool, last_status: crate::models::OrderStatus, products: Vec<crate::models::Product>, status_history: Vec<crate::models::OrderStatus>, stripe_checkout_session_data: ::std::collections::HashMap<String, serde_json::Value>, receipt_url: Option<String>, portal_url: Option<String>) -> Order {
52        Order {
53            created_dt,
54            djstripe_checkout_session: djstripe_checkout_session.map(Box::new),
55            djstripe_customer: djstripe_customer.map(Box::new),
56            djstripe_payment_intent: djstripe_payment_intent.map(Box::new),
57            email,
58            id,
59            is_shippable,
60            is_subscription,
61            last_status: Box::new(last_status),
62            products,
63            status_history,
64            stripe_checkout_session_data,
65            user: None,
66            receipt_url,
67            portal_url,
68        }
69    }
70}
71
72