bitwarden_api_api/apis/
provider_billing_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method [`providers_provider_id_billing_invoices_get`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum ProvidersProviderIdBillingInvoicesGetError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`providers_provider_id_billing_invoices_invoice_id_get`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum ProvidersProviderIdBillingInvoicesInvoiceIdGetError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`providers_provider_id_billing_payment_method_put`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ProvidersProviderIdBillingPaymentMethodPutError {
35    UnknownValue(serde_json::Value),
36}
37
38/// struct for typed errors of method
39/// [`providers_provider_id_billing_payment_method_verify_bank_account_post`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum ProvidersProviderIdBillingPaymentMethodVerifyBankAccountPostError {
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`providers_provider_id_billing_subscription_get`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum ProvidersProviderIdBillingSubscriptionGetError {
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`providers_provider_id_billing_tax_information_get`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum ProvidersProviderIdBillingTaxInformationGetError {
57    UnknownValue(serde_json::Value),
58}
59
60/// struct for typed errors of method [`providers_provider_id_billing_tax_information_put`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum ProvidersProviderIdBillingTaxInformationPutError {
64    UnknownValue(serde_json::Value),
65}
66
67pub async fn providers_provider_id_billing_invoices_get(
68    configuration: &configuration::Configuration,
69    provider_id: uuid::Uuid,
70) -> Result<(), Error<ProvidersProviderIdBillingInvoicesGetError>> {
71    // add a prefix to parameters to efficiently prevent name collisions
72    let p_provider_id = provider_id;
73
74    let uri_str = format!(
75        "{}/providers/{providerId}/billing/invoices",
76        configuration.base_path,
77        providerId = crate::apis::urlencode(p_provider_id.to_string())
78    );
79    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
80
81    if let Some(ref user_agent) = configuration.user_agent {
82        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
83    }
84    if let Some(ref token) = configuration.oauth_access_token {
85        req_builder = req_builder.bearer_auth(token.to_owned());
86    };
87
88    let req = req_builder.build()?;
89    let resp = configuration.client.execute(req).await?;
90
91    let status = resp.status();
92
93    if !status.is_client_error() && !status.is_server_error() {
94        Ok(())
95    } else {
96        let content = resp.text().await?;
97        let entity: Option<ProvidersProviderIdBillingInvoicesGetError> =
98            serde_json::from_str(&content).ok();
99        Err(Error::ResponseError(ResponseContent {
100            status,
101            content,
102            entity,
103        }))
104    }
105}
106
107pub async fn providers_provider_id_billing_invoices_invoice_id_get(
108    configuration: &configuration::Configuration,
109    provider_id: uuid::Uuid,
110    invoice_id: &str,
111) -> Result<(), Error<ProvidersProviderIdBillingInvoicesInvoiceIdGetError>> {
112    // add a prefix to parameters to efficiently prevent name collisions
113    let p_provider_id = provider_id;
114    let p_invoice_id = invoice_id;
115
116    let uri_str = format!(
117        "{}/providers/{providerId}/billing/invoices/{invoiceId}",
118        configuration.base_path,
119        providerId = crate::apis::urlencode(p_provider_id.to_string()),
120        invoiceId = crate::apis::urlencode(p_invoice_id)
121    );
122    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
123
124    if let Some(ref user_agent) = configuration.user_agent {
125        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
126    }
127    if let Some(ref token) = configuration.oauth_access_token {
128        req_builder = req_builder.bearer_auth(token.to_owned());
129    };
130
131    let req = req_builder.build()?;
132    let resp = configuration.client.execute(req).await?;
133
134    let status = resp.status();
135
136    if !status.is_client_error() && !status.is_server_error() {
137        Ok(())
138    } else {
139        let content = resp.text().await?;
140        let entity: Option<ProvidersProviderIdBillingInvoicesInvoiceIdGetError> =
141            serde_json::from_str(&content).ok();
142        Err(Error::ResponseError(ResponseContent {
143            status,
144            content,
145            entity,
146        }))
147    }
148}
149
150pub async fn providers_provider_id_billing_payment_method_put(
151    configuration: &configuration::Configuration,
152    provider_id: uuid::Uuid,
153    update_payment_method_request_body: Option<models::UpdatePaymentMethodRequestBody>,
154) -> Result<(), Error<ProvidersProviderIdBillingPaymentMethodPutError>> {
155    // add a prefix to parameters to efficiently prevent name collisions
156    let p_provider_id = provider_id;
157    let p_update_payment_method_request_body = update_payment_method_request_body;
158
159    let uri_str = format!(
160        "{}/providers/{providerId}/billing/payment-method",
161        configuration.base_path,
162        providerId = crate::apis::urlencode(p_provider_id.to_string())
163    );
164    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
165
166    if let Some(ref user_agent) = configuration.user_agent {
167        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
168    }
169    if let Some(ref token) = configuration.oauth_access_token {
170        req_builder = req_builder.bearer_auth(token.to_owned());
171    };
172    req_builder = req_builder.json(&p_update_payment_method_request_body);
173
174    let req = req_builder.build()?;
175    let resp = configuration.client.execute(req).await?;
176
177    let status = resp.status();
178
179    if !status.is_client_error() && !status.is_server_error() {
180        Ok(())
181    } else {
182        let content = resp.text().await?;
183        let entity: Option<ProvidersProviderIdBillingPaymentMethodPutError> =
184            serde_json::from_str(&content).ok();
185        Err(Error::ResponseError(ResponseContent {
186            status,
187            content,
188            entity,
189        }))
190    }
191}
192
193pub async fn providers_provider_id_billing_payment_method_verify_bank_account_post(
194    configuration: &configuration::Configuration,
195    provider_id: uuid::Uuid,
196    verify_bank_account_request_body: Option<models::VerifyBankAccountRequestBody>,
197) -> Result<(), Error<ProvidersProviderIdBillingPaymentMethodVerifyBankAccountPostError>> {
198    // add a prefix to parameters to efficiently prevent name collisions
199    let p_provider_id = provider_id;
200    let p_verify_bank_account_request_body = verify_bank_account_request_body;
201
202    let uri_str = format!(
203        "{}/providers/{providerId}/billing/payment-method/verify-bank-account",
204        configuration.base_path,
205        providerId = crate::apis::urlencode(p_provider_id.to_string())
206    );
207    let mut req_builder = configuration
208        .client
209        .request(reqwest::Method::POST, &uri_str);
210
211    if let Some(ref user_agent) = configuration.user_agent {
212        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
213    }
214    if let Some(ref token) = configuration.oauth_access_token {
215        req_builder = req_builder.bearer_auth(token.to_owned());
216    };
217    req_builder = req_builder.json(&p_verify_bank_account_request_body);
218
219    let req = req_builder.build()?;
220    let resp = configuration.client.execute(req).await?;
221
222    let status = resp.status();
223
224    if !status.is_client_error() && !status.is_server_error() {
225        Ok(())
226    } else {
227        let content = resp.text().await?;
228        let entity: Option<ProvidersProviderIdBillingPaymentMethodVerifyBankAccountPostError> =
229            serde_json::from_str(&content).ok();
230        Err(Error::ResponseError(ResponseContent {
231            status,
232            content,
233            entity,
234        }))
235    }
236}
237
238pub async fn providers_provider_id_billing_subscription_get(
239    configuration: &configuration::Configuration,
240    provider_id: uuid::Uuid,
241) -> Result<(), Error<ProvidersProviderIdBillingSubscriptionGetError>> {
242    // add a prefix to parameters to efficiently prevent name collisions
243    let p_provider_id = provider_id;
244
245    let uri_str = format!(
246        "{}/providers/{providerId}/billing/subscription",
247        configuration.base_path,
248        providerId = crate::apis::urlencode(p_provider_id.to_string())
249    );
250    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
251
252    if let Some(ref user_agent) = configuration.user_agent {
253        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
254    }
255    if let Some(ref token) = configuration.oauth_access_token {
256        req_builder = req_builder.bearer_auth(token.to_owned());
257    };
258
259    let req = req_builder.build()?;
260    let resp = configuration.client.execute(req).await?;
261
262    let status = resp.status();
263
264    if !status.is_client_error() && !status.is_server_error() {
265        Ok(())
266    } else {
267        let content = resp.text().await?;
268        let entity: Option<ProvidersProviderIdBillingSubscriptionGetError> =
269            serde_json::from_str(&content).ok();
270        Err(Error::ResponseError(ResponseContent {
271            status,
272            content,
273            entity,
274        }))
275    }
276}
277
278pub async fn providers_provider_id_billing_tax_information_get(
279    configuration: &configuration::Configuration,
280    provider_id: uuid::Uuid,
281) -> Result<(), Error<ProvidersProviderIdBillingTaxInformationGetError>> {
282    // add a prefix to parameters to efficiently prevent name collisions
283    let p_provider_id = provider_id;
284
285    let uri_str = format!(
286        "{}/providers/{providerId}/billing/tax-information",
287        configuration.base_path,
288        providerId = crate::apis::urlencode(p_provider_id.to_string())
289    );
290    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
291
292    if let Some(ref user_agent) = configuration.user_agent {
293        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
294    }
295    if let Some(ref token) = configuration.oauth_access_token {
296        req_builder = req_builder.bearer_auth(token.to_owned());
297    };
298
299    let req = req_builder.build()?;
300    let resp = configuration.client.execute(req).await?;
301
302    let status = resp.status();
303
304    if !status.is_client_error() && !status.is_server_error() {
305        Ok(())
306    } else {
307        let content = resp.text().await?;
308        let entity: Option<ProvidersProviderIdBillingTaxInformationGetError> =
309            serde_json::from_str(&content).ok();
310        Err(Error::ResponseError(ResponseContent {
311            status,
312            content,
313            entity,
314        }))
315    }
316}
317
318pub async fn providers_provider_id_billing_tax_information_put(
319    configuration: &configuration::Configuration,
320    provider_id: uuid::Uuid,
321    tax_information_request_body: Option<models::TaxInformationRequestBody>,
322) -> Result<(), Error<ProvidersProviderIdBillingTaxInformationPutError>> {
323    // add a prefix to parameters to efficiently prevent name collisions
324    let p_provider_id = provider_id;
325    let p_tax_information_request_body = tax_information_request_body;
326
327    let uri_str = format!(
328        "{}/providers/{providerId}/billing/tax-information",
329        configuration.base_path,
330        providerId = crate::apis::urlencode(p_provider_id.to_string())
331    );
332    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
333
334    if let Some(ref user_agent) = configuration.user_agent {
335        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
336    }
337    if let Some(ref token) = configuration.oauth_access_token {
338        req_builder = req_builder.bearer_auth(token.to_owned());
339    };
340    req_builder = req_builder.json(&p_tax_information_request_body);
341
342    let req = req_builder.build()?;
343    let resp = configuration.client.execute(req).await?;
344
345    let status = resp.status();
346
347    if !status.is_client_error() && !status.is_server_error() {
348        Ok(())
349    } else {
350        let content = resp.text().await?;
351        let entity: Option<ProvidersProviderIdBillingTaxInformationPutError> =
352            serde_json::from_str(&content).ok();
353        Err(Error::ResponseError(ResponseContent {
354            status,
355            content,
356            entity,
357        }))
358    }
359}