printnanny_api_client/apis/
shop_api.rs1use reqwest;
13
14use bytes::Bytes;
15use crate::apis::ResponseContent;
16use super::{Error, configuration};
17
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum CloudPlansRetrieveError {
23 Status404(crate::models::ErrorDetail),
24 Status400(crate::models::ErrorDetail),
25 Status401(crate::models::ErrorDetail),
26 Status403(crate::models::ErrorDetail),
27 Status500(crate::models::ErrorDetail),
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ShopCheckoutSuccessRetrieveError {
35 Status404(crate::models::ErrorDetail),
36 Status400(crate::models::ErrorDetail),
37 Status401(crate::models::ErrorDetail),
38 Status403(crate::models::ErrorDetail),
39 Status500(crate::models::ErrorDetail),
40 UnknownValue(serde_json::Value),
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(untagged)]
46pub enum ShopOrdersCreateError {
47 Status409(crate::models::ErrorDetail),
48 Status400(crate::models::ErrorDetail),
49 Status401(crate::models::ErrorDetail),
50 Status403(crate::models::ErrorDetail),
51 Status500(crate::models::ErrorDetail),
52 UnknownValue(serde_json::Value),
53}
54
55#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum ShopProductsListError {
59 UnknownValue(serde_json::Value),
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum ShopProductsRetrieveError {
66 Status404(crate::models::ErrorDetail),
67 Status400(crate::models::ErrorDetail),
68 Status401(crate::models::ErrorDetail),
69 Status403(crate::models::ErrorDetail),
70 Status500(crate::models::ErrorDetail),
71 UnknownValue(serde_json::Value),
72}
73
74
75pub async fn cloud_plans_retrieve(configuration: &configuration::Configuration, page: Option<i32>) -> Result<crate::models::PaginatedProductList, Error<CloudPlansRetrieveError>> {
76 let local_var_configuration = configuration;
77
78 let local_var_client = &local_var_configuration.client;
79
80 let local_var_uri_str = format!("{}/api/shop/products/cloud-plans/", local_var_configuration.base_path);
81 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
82
83 if let Some(ref local_var_str) = page {
84 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
85 }
86 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
87 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
88 }
89 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
90 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
91 };
92
93 let local_var_req = local_var_req_builder.build()?;
94 let local_var_resp = local_var_client.execute(local_var_req).await?;
95
96 let local_var_status = local_var_resp.status();
97 let local_var_content = local_var_resp.text().await?;
98
99 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
100 serde_json::from_str(&local_var_content).map_err(Error::from)
101 } else {
102 let local_var_entity: Option<CloudPlansRetrieveError> = serde_json::from_str(&local_var_content).ok();
103 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
104 Err(Error::ResponseError(local_var_error))
105 }
106}
107
108pub async fn shop_checkout_success_retrieve(configuration: &configuration::Configuration, stripe_checkout_session_id: &str) -> Result<crate::models::Order, Error<ShopCheckoutSuccessRetrieveError>> {
109 let local_var_configuration = configuration;
110
111 let local_var_client = &local_var_configuration.client;
112
113 let local_var_uri_str = format!("{}/api/shop/checkout/success/{stripe_checkout_session_id}", local_var_configuration.base_path, stripe_checkout_session_id=crate::apis::urlencode(stripe_checkout_session_id));
114 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
115
116 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
117 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
118 }
119 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
120 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
121 };
122
123 let local_var_req = local_var_req_builder.build()?;
124 let local_var_resp = local_var_client.execute(local_var_req).await?;
125
126 let local_var_status = local_var_resp.status();
127 let local_var_content = local_var_resp.text().await?;
128
129 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
130 serde_json::from_str(&local_var_content).map_err(Error::from)
131 } else {
132 let local_var_entity: Option<ShopCheckoutSuccessRetrieveError> = serde_json::from_str(&local_var_content).ok();
133 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
134 Err(Error::ResponseError(local_var_error))
135 }
136}
137
138pub async fn shop_orders_create(configuration: &configuration::Configuration, order_checkout_request: crate::models::OrderCheckoutRequest) -> Result<crate::models::Order, Error<ShopOrdersCreateError>> {
139 let local_var_configuration = configuration;
140
141 let local_var_client = &local_var_configuration.client;
142
143 let local_var_uri_str = format!("{}/api/shop/orders", local_var_configuration.base_path);
144 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
145
146 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
147 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
148 }
149 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
150 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
151 };
152 local_var_req_builder = local_var_req_builder.json(&order_checkout_request);
153
154 let local_var_req = local_var_req_builder.build()?;
155 let local_var_resp = local_var_client.execute(local_var_req).await?;
156
157 let local_var_status = local_var_resp.status();
158 let local_var_content = local_var_resp.text().await?;
159
160 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
161 serde_json::from_str(&local_var_content).map_err(Error::from)
162 } else {
163 let local_var_entity: Option<ShopOrdersCreateError> = serde_json::from_str(&local_var_content).ok();
164 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
165 Err(Error::ResponseError(local_var_error))
166 }
167}
168
169pub async fn shop_products_list(configuration: &configuration::Configuration, page: Option<i32>) -> Result<crate::models::PaginatedProductList, Error<ShopProductsListError>> {
170 let local_var_configuration = configuration;
171
172 let local_var_client = &local_var_configuration.client;
173
174 let local_var_uri_str = format!("{}/api/shop/products/", local_var_configuration.base_path);
175 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
176
177 if let Some(ref local_var_str) = page {
178 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
179 }
180 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
181 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
182 }
183 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
184 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
185 };
186
187 let local_var_req = local_var_req_builder.build()?;
188 let local_var_resp = local_var_client.execute(local_var_req).await?;
189
190 let local_var_status = local_var_resp.status();
191 let local_var_content = local_var_resp.text().await?;
192
193 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
194 serde_json::from_str(&local_var_content).map_err(Error::from)
195 } else {
196 let local_var_entity: Option<ShopProductsListError> = serde_json::from_str(&local_var_content).ok();
197 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
198 Err(Error::ResponseError(local_var_error))
199 }
200}
201
202pub async fn shop_products_retrieve(configuration: &configuration::Configuration, sku: &str) -> Result<crate::models::Product, Error<ShopProductsRetrieveError>> {
203 let local_var_configuration = configuration;
204
205 let local_var_client = &local_var_configuration.client;
206
207 let local_var_uri_str = format!("{}/api/shop/products/{sku}", local_var_configuration.base_path, sku=crate::apis::urlencode(sku));
208 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
209
210 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
211 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
212 }
213 if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
214 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
215 };
216
217 let local_var_req = local_var_req_builder.build()?;
218 let local_var_resp = local_var_client.execute(local_var_req).await?;
219
220 let local_var_status = local_var_resp.status();
221 let local_var_content = local_var_resp.text().await?;
222
223 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
224 serde_json::from_str(&local_var_content).map_err(Error::from)
225 } else {
226 let local_var_entity: Option<ShopProductsRetrieveError> = serde_json::from_str(&local_var_content).ok();
227 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
228 Err(Error::ResponseError(local_var_error))
229 }
230}
231