1use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum OrganizationsOrganizationIdBillingGetError {
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum OrganizationsOrganizationIdBillingHistoryGetError {
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum OrganizationsOrganizationIdBillingInvoicesGetError {
35 UnknownValue(serde_json::Value),
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum OrganizationsOrganizationIdBillingMetadataGetError {
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum OrganizationsOrganizationIdBillingPaymentMethodGetError {
49 UnknownValue(serde_json::Value),
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum OrganizationsOrganizationIdBillingPaymentMethodPutError {
56 UnknownValue(serde_json::Value),
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum OrganizationsOrganizationIdBillingPaymentMethodVerifyBankAccountPostError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
70#[serde(untagged)]
71pub enum OrganizationsOrganizationIdBillingRestartSubscriptionPostError {
72 UnknownValue(serde_json::Value),
73}
74
75#[derive(Debug, Clone, Serialize, Deserialize)]
77#[serde(untagged)]
78pub enum OrganizationsOrganizationIdBillingTaxInformationGetError {
79 UnknownValue(serde_json::Value),
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
84#[serde(untagged)]
85pub enum OrganizationsOrganizationIdBillingTaxInformationPutError {
86 UnknownValue(serde_json::Value),
87}
88
89#[derive(Debug, Clone, Serialize, Deserialize)]
91#[serde(untagged)]
92pub enum OrganizationsOrganizationIdBillingTransactionsGetError {
93 UnknownValue(serde_json::Value),
94}
95
96pub async fn organizations_organization_id_billing_get(
97 configuration: &configuration::Configuration,
98 organization_id: uuid::Uuid,
99) -> Result<(), Error<OrganizationsOrganizationIdBillingGetError>> {
100 let p_organization_id = organization_id;
102
103 let uri_str = format!(
104 "{}/organizations/{organizationId}/billing",
105 configuration.base_path,
106 organizationId = crate::apis::urlencode(p_organization_id.to_string())
107 );
108 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
109
110 if let Some(ref user_agent) = configuration.user_agent {
111 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
112 }
113 if let Some(ref token) = configuration.oauth_access_token {
114 req_builder = req_builder.bearer_auth(token.to_owned());
115 };
116
117 let req = req_builder.build()?;
118 let resp = configuration.client.execute(req).await?;
119
120 let status = resp.status();
121
122 if !status.is_client_error() && !status.is_server_error() {
123 Ok(())
124 } else {
125 let content = resp.text().await?;
126 let entity: Option<OrganizationsOrganizationIdBillingGetError> =
127 serde_json::from_str(&content).ok();
128 Err(Error::ResponseError(ResponseContent {
129 status,
130 content,
131 entity,
132 }))
133 }
134}
135
136pub async fn organizations_organization_id_billing_history_get(
137 configuration: &configuration::Configuration,
138 organization_id: uuid::Uuid,
139) -> Result<(), Error<OrganizationsOrganizationIdBillingHistoryGetError>> {
140 let p_organization_id = organization_id;
142
143 let uri_str = format!(
144 "{}/organizations/{organizationId}/billing/history",
145 configuration.base_path,
146 organizationId = crate::apis::urlencode(p_organization_id.to_string())
147 );
148 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
149
150 if let Some(ref user_agent) = configuration.user_agent {
151 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
152 }
153 if let Some(ref token) = configuration.oauth_access_token {
154 req_builder = req_builder.bearer_auth(token.to_owned());
155 };
156
157 let req = req_builder.build()?;
158 let resp = configuration.client.execute(req).await?;
159
160 let status = resp.status();
161
162 if !status.is_client_error() && !status.is_server_error() {
163 Ok(())
164 } else {
165 let content = resp.text().await?;
166 let entity: Option<OrganizationsOrganizationIdBillingHistoryGetError> =
167 serde_json::from_str(&content).ok();
168 Err(Error::ResponseError(ResponseContent {
169 status,
170 content,
171 entity,
172 }))
173 }
174}
175
176pub async fn organizations_organization_id_billing_invoices_get(
177 configuration: &configuration::Configuration,
178 organization_id: uuid::Uuid,
179 status: Option<&str>,
180 start_after: Option<&str>,
181) -> Result<(), Error<OrganizationsOrganizationIdBillingInvoicesGetError>> {
182 let p_organization_id = organization_id;
184 let p_status = status;
185 let p_start_after = start_after;
186
187 let uri_str = format!(
188 "{}/organizations/{organizationId}/billing/invoices",
189 configuration.base_path,
190 organizationId = crate::apis::urlencode(p_organization_id.to_string())
191 );
192 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
193
194 if let Some(ref param_value) = p_status {
195 req_builder = req_builder.query(&[("status", ¶m_value.to_string())]);
196 }
197 if let Some(ref param_value) = p_start_after {
198 req_builder = req_builder.query(&[("startAfter", ¶m_value.to_string())]);
199 }
200 if let Some(ref user_agent) = configuration.user_agent {
201 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
202 }
203 if let Some(ref token) = configuration.oauth_access_token {
204 req_builder = req_builder.bearer_auth(token.to_owned());
205 };
206
207 let req = req_builder.build()?;
208 let resp = configuration.client.execute(req).await?;
209
210 let status = resp.status();
211
212 if !status.is_client_error() && !status.is_server_error() {
213 Ok(())
214 } else {
215 let content = resp.text().await?;
216 let entity: Option<OrganizationsOrganizationIdBillingInvoicesGetError> =
217 serde_json::from_str(&content).ok();
218 Err(Error::ResponseError(ResponseContent {
219 status,
220 content,
221 entity,
222 }))
223 }
224}
225
226pub async fn organizations_organization_id_billing_metadata_get(
227 configuration: &configuration::Configuration,
228 organization_id: uuid::Uuid,
229) -> Result<(), Error<OrganizationsOrganizationIdBillingMetadataGetError>> {
230 let p_organization_id = organization_id;
232
233 let uri_str = format!(
234 "{}/organizations/{organizationId}/billing/metadata",
235 configuration.base_path,
236 organizationId = crate::apis::urlencode(p_organization_id.to_string())
237 );
238 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
239
240 if let Some(ref user_agent) = configuration.user_agent {
241 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
242 }
243 if let Some(ref token) = configuration.oauth_access_token {
244 req_builder = req_builder.bearer_auth(token.to_owned());
245 };
246
247 let req = req_builder.build()?;
248 let resp = configuration.client.execute(req).await?;
249
250 let status = resp.status();
251
252 if !status.is_client_error() && !status.is_server_error() {
253 Ok(())
254 } else {
255 let content = resp.text().await?;
256 let entity: Option<OrganizationsOrganizationIdBillingMetadataGetError> =
257 serde_json::from_str(&content).ok();
258 Err(Error::ResponseError(ResponseContent {
259 status,
260 content,
261 entity,
262 }))
263 }
264}
265
266pub async fn organizations_organization_id_billing_payment_method_get(
267 configuration: &configuration::Configuration,
268 organization_id: uuid::Uuid,
269) -> Result<(), Error<OrganizationsOrganizationIdBillingPaymentMethodGetError>> {
270 let p_organization_id = organization_id;
272
273 let uri_str = format!(
274 "{}/organizations/{organizationId}/billing/payment-method",
275 configuration.base_path,
276 organizationId = crate::apis::urlencode(p_organization_id.to_string())
277 );
278 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
279
280 if let Some(ref user_agent) = configuration.user_agent {
281 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
282 }
283 if let Some(ref token) = configuration.oauth_access_token {
284 req_builder = req_builder.bearer_auth(token.to_owned());
285 };
286
287 let req = req_builder.build()?;
288 let resp = configuration.client.execute(req).await?;
289
290 let status = resp.status();
291
292 if !status.is_client_error() && !status.is_server_error() {
293 Ok(())
294 } else {
295 let content = resp.text().await?;
296 let entity: Option<OrganizationsOrganizationIdBillingPaymentMethodGetError> =
297 serde_json::from_str(&content).ok();
298 Err(Error::ResponseError(ResponseContent {
299 status,
300 content,
301 entity,
302 }))
303 }
304}
305
306pub async fn organizations_organization_id_billing_payment_method_put(
307 configuration: &configuration::Configuration,
308 organization_id: uuid::Uuid,
309 update_payment_method_request_body: Option<models::UpdatePaymentMethodRequestBody>,
310) -> Result<(), Error<OrganizationsOrganizationIdBillingPaymentMethodPutError>> {
311 let p_organization_id = organization_id;
313 let p_update_payment_method_request_body = update_payment_method_request_body;
314
315 let uri_str = format!(
316 "{}/organizations/{organizationId}/billing/payment-method",
317 configuration.base_path,
318 organizationId = crate::apis::urlencode(p_organization_id.to_string())
319 );
320 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
321
322 if let Some(ref user_agent) = configuration.user_agent {
323 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
324 }
325 if let Some(ref token) = configuration.oauth_access_token {
326 req_builder = req_builder.bearer_auth(token.to_owned());
327 };
328 req_builder = req_builder.json(&p_update_payment_method_request_body);
329
330 let req = req_builder.build()?;
331 let resp = configuration.client.execute(req).await?;
332
333 let status = resp.status();
334
335 if !status.is_client_error() && !status.is_server_error() {
336 Ok(())
337 } else {
338 let content = resp.text().await?;
339 let entity: Option<OrganizationsOrganizationIdBillingPaymentMethodPutError> =
340 serde_json::from_str(&content).ok();
341 Err(Error::ResponseError(ResponseContent {
342 status,
343 content,
344 entity,
345 }))
346 }
347}
348
349pub async fn organizations_organization_id_billing_payment_method_verify_bank_account_post(
350 configuration: &configuration::Configuration,
351 organization_id: uuid::Uuid,
352 verify_bank_account_request_body: Option<models::VerifyBankAccountRequestBody>,
353) -> Result<(), Error<OrganizationsOrganizationIdBillingPaymentMethodVerifyBankAccountPostError>> {
354 let p_organization_id = organization_id;
356 let p_verify_bank_account_request_body = verify_bank_account_request_body;
357
358 let uri_str = format!(
359 "{}/organizations/{organizationId}/billing/payment-method/verify-bank-account",
360 configuration.base_path,
361 organizationId = crate::apis::urlencode(p_organization_id.to_string())
362 );
363 let mut req_builder = configuration
364 .client
365 .request(reqwest::Method::POST, &uri_str);
366
367 if let Some(ref user_agent) = configuration.user_agent {
368 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
369 }
370 if let Some(ref token) = configuration.oauth_access_token {
371 req_builder = req_builder.bearer_auth(token.to_owned());
372 };
373 req_builder = req_builder.json(&p_verify_bank_account_request_body);
374
375 let req = req_builder.build()?;
376 let resp = configuration.client.execute(req).await?;
377
378 let status = resp.status();
379
380 if !status.is_client_error() && !status.is_server_error() {
381 Ok(())
382 } else {
383 let content = resp.text().await?;
384 let entity: Option<
385 OrganizationsOrganizationIdBillingPaymentMethodVerifyBankAccountPostError,
386 > = serde_json::from_str(&content).ok();
387 Err(Error::ResponseError(ResponseContent {
388 status,
389 content,
390 entity,
391 }))
392 }
393}
394
395pub async fn organizations_organization_id_billing_restart_subscription_post(
396 configuration: &configuration::Configuration,
397 organization_id: uuid::Uuid,
398 organization_create_request_model: Option<models::OrganizationCreateRequestModel>,
399) -> Result<(), Error<OrganizationsOrganizationIdBillingRestartSubscriptionPostError>> {
400 let p_organization_id = organization_id;
402 let p_organization_create_request_model = organization_create_request_model;
403
404 let uri_str = format!(
405 "{}/organizations/{organizationId}/billing/restart-subscription",
406 configuration.base_path,
407 organizationId = crate::apis::urlencode(p_organization_id.to_string())
408 );
409 let mut req_builder = configuration
410 .client
411 .request(reqwest::Method::POST, &uri_str);
412
413 if let Some(ref user_agent) = configuration.user_agent {
414 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
415 }
416 if let Some(ref token) = configuration.oauth_access_token {
417 req_builder = req_builder.bearer_auth(token.to_owned());
418 };
419 req_builder = req_builder.json(&p_organization_create_request_model);
420
421 let req = req_builder.build()?;
422 let resp = configuration.client.execute(req).await?;
423
424 let status = resp.status();
425
426 if !status.is_client_error() && !status.is_server_error() {
427 Ok(())
428 } else {
429 let content = resp.text().await?;
430 let entity: Option<OrganizationsOrganizationIdBillingRestartSubscriptionPostError> =
431 serde_json::from_str(&content).ok();
432 Err(Error::ResponseError(ResponseContent {
433 status,
434 content,
435 entity,
436 }))
437 }
438}
439
440pub async fn organizations_organization_id_billing_tax_information_get(
441 configuration: &configuration::Configuration,
442 organization_id: uuid::Uuid,
443) -> Result<(), Error<OrganizationsOrganizationIdBillingTaxInformationGetError>> {
444 let p_organization_id = organization_id;
446
447 let uri_str = format!(
448 "{}/organizations/{organizationId}/billing/tax-information",
449 configuration.base_path,
450 organizationId = crate::apis::urlencode(p_organization_id.to_string())
451 );
452 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
453
454 if let Some(ref user_agent) = configuration.user_agent {
455 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
456 }
457 if let Some(ref token) = configuration.oauth_access_token {
458 req_builder = req_builder.bearer_auth(token.to_owned());
459 };
460
461 let req = req_builder.build()?;
462 let resp = configuration.client.execute(req).await?;
463
464 let status = resp.status();
465
466 if !status.is_client_error() && !status.is_server_error() {
467 Ok(())
468 } else {
469 let content = resp.text().await?;
470 let entity: Option<OrganizationsOrganizationIdBillingTaxInformationGetError> =
471 serde_json::from_str(&content).ok();
472 Err(Error::ResponseError(ResponseContent {
473 status,
474 content,
475 entity,
476 }))
477 }
478}
479
480pub async fn organizations_organization_id_billing_tax_information_put(
481 configuration: &configuration::Configuration,
482 organization_id: uuid::Uuid,
483 tax_information_request_body: Option<models::TaxInformationRequestBody>,
484) -> Result<(), Error<OrganizationsOrganizationIdBillingTaxInformationPutError>> {
485 let p_organization_id = organization_id;
487 let p_tax_information_request_body = tax_information_request_body;
488
489 let uri_str = format!(
490 "{}/organizations/{organizationId}/billing/tax-information",
491 configuration.base_path,
492 organizationId = crate::apis::urlencode(p_organization_id.to_string())
493 );
494 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
495
496 if let Some(ref user_agent) = configuration.user_agent {
497 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
498 }
499 if let Some(ref token) = configuration.oauth_access_token {
500 req_builder = req_builder.bearer_auth(token.to_owned());
501 };
502 req_builder = req_builder.json(&p_tax_information_request_body);
503
504 let req = req_builder.build()?;
505 let resp = configuration.client.execute(req).await?;
506
507 let status = resp.status();
508
509 if !status.is_client_error() && !status.is_server_error() {
510 Ok(())
511 } else {
512 let content = resp.text().await?;
513 let entity: Option<OrganizationsOrganizationIdBillingTaxInformationPutError> =
514 serde_json::from_str(&content).ok();
515 Err(Error::ResponseError(ResponseContent {
516 status,
517 content,
518 entity,
519 }))
520 }
521}
522
523pub async fn organizations_organization_id_billing_transactions_get(
524 configuration: &configuration::Configuration,
525 organization_id: uuid::Uuid,
526 start_after: Option<String>,
527) -> Result<(), Error<OrganizationsOrganizationIdBillingTransactionsGetError>> {
528 let p_organization_id = organization_id;
530 let p_start_after = start_after;
531
532 let uri_str = format!(
533 "{}/organizations/{organizationId}/billing/transactions",
534 configuration.base_path,
535 organizationId = crate::apis::urlencode(p_organization_id.to_string())
536 );
537 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
538
539 if let Some(ref param_value) = p_start_after {
540 req_builder = req_builder.query(&[("startAfter", ¶m_value.to_string())]);
541 }
542 if let Some(ref user_agent) = configuration.user_agent {
543 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
544 }
545 if let Some(ref token) = configuration.oauth_access_token {
546 req_builder = req_builder.bearer_auth(token.to_owned());
547 };
548
549 let req = req_builder.build()?;
550 let resp = configuration.client.execute(req).await?;
551
552 let status = resp.status();
553
554 if !status.is_client_error() && !status.is_server_error() {
555 Ok(())
556 } else {
557 let content = resp.text().await?;
558 let entity: Option<OrganizationsOrganizationIdBillingTransactionsGetError> =
559 serde_json::from_str(&content).ok();
560 Err(Error::ResponseError(ResponseContent {
561 status,
562 content,
563 entity,
564 }))
565 }
566}