Skip to main content

bitwarden_api_api/apis/
preview_invoice_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 std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait PreviewInvoiceApi: Send + Sync {
29    /// POST /billing/preview-invoice/organizations/{organizationId}/subscription/plan-change
30    async fn preview_organization_subscription_plan_change_tax<'a>(
31        &self,
32        organization_id: &'a str,
33        preview_organization_subscription_plan_change_tax_request: Option<
34            models::PreviewOrganizationSubscriptionPlanChangeTaxRequest,
35        >,
36    ) -> Result<(), Error>;
37
38    /// POST /billing/preview-invoice/organizations/subscriptions/purchase
39    async fn preview_organization_subscription_purchase_tax<'a>(
40        &self,
41        preview_organization_subscription_purchase_tax_request: Option<
42            models::PreviewOrganizationSubscriptionPurchaseTaxRequest,
43        >,
44    ) -> Result<(), Error>;
45
46    /// PUT /billing/preview-invoice/organizations/{organizationId}/subscription/update
47    async fn preview_organization_subscription_update_tax<'a>(
48        &self,
49        organization_id: &'a str,
50        preview_organization_subscription_update_tax_request: Option<
51            models::PreviewOrganizationSubscriptionUpdateTaxRequest,
52        >,
53    ) -> Result<(), Error>;
54
55    /// POST /billing/preview-invoice/premium/subscriptions/purchase
56    async fn preview_premium_subscription_purchase_tax<'a>(
57        &self,
58        preview_premium_subscription_purchase_tax_request: Option<
59            models::PreviewPremiumSubscriptionPurchaseTaxRequest,
60        >,
61    ) -> Result<(), Error>;
62
63    /// POST /billing/preview-invoice/premium/subscriptions/upgrade
64    async fn preview_premium_upgrade_proration<'a>(
65        &self,
66        preview_premium_upgrade_proration_request: Option<
67            models::PreviewPremiumUpgradeProrationRequest,
68        >,
69    ) -> Result<(), Error>;
70}
71
72pub struct PreviewInvoiceApiClient {
73    configuration: Arc<configuration::Configuration>,
74}
75
76impl PreviewInvoiceApiClient {
77    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
78        Self { configuration }
79    }
80}
81
82#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
83#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
84impl PreviewInvoiceApi for PreviewInvoiceApiClient {
85    async fn preview_organization_subscription_plan_change_tax<'a>(
86        &self,
87        organization_id: &'a str,
88        preview_organization_subscription_plan_change_tax_request: Option<
89            models::PreviewOrganizationSubscriptionPlanChangeTaxRequest,
90        >,
91    ) -> Result<(), Error> {
92        let local_var_configuration = &self.configuration;
93
94        let local_var_client = &local_var_configuration.client;
95
96        let local_var_uri_str = format!(
97            "{}/billing/preview-invoice/organizations/{organizationId}/subscription/plan-change",
98            local_var_configuration.base_path,
99            organizationId = crate::apis::urlencode(organization_id)
100        );
101        let mut local_var_req_builder =
102            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
103
104        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
105        local_var_req_builder =
106            local_var_req_builder.json(&preview_organization_subscription_plan_change_tax_request);
107
108        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
109    }
110
111    async fn preview_organization_subscription_purchase_tax<'a>(
112        &self,
113        preview_organization_subscription_purchase_tax_request: Option<
114            models::PreviewOrganizationSubscriptionPurchaseTaxRequest,
115        >,
116    ) -> Result<(), Error> {
117        let local_var_configuration = &self.configuration;
118
119        let local_var_client = &local_var_configuration.client;
120
121        let local_var_uri_str = format!(
122            "{}/billing/preview-invoice/organizations/subscriptions/purchase",
123            local_var_configuration.base_path
124        );
125        let mut local_var_req_builder =
126            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
127
128        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
129        local_var_req_builder =
130            local_var_req_builder.json(&preview_organization_subscription_purchase_tax_request);
131
132        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
133    }
134
135    async fn preview_organization_subscription_update_tax<'a>(
136        &self,
137        organization_id: &'a str,
138        preview_organization_subscription_update_tax_request: Option<
139            models::PreviewOrganizationSubscriptionUpdateTaxRequest,
140        >,
141    ) -> Result<(), Error> {
142        let local_var_configuration = &self.configuration;
143
144        let local_var_client = &local_var_configuration.client;
145
146        let local_var_uri_str = format!(
147            "{}/billing/preview-invoice/organizations/{organizationId}/subscription/update",
148            local_var_configuration.base_path,
149            organizationId = crate::apis::urlencode(organization_id)
150        );
151        let mut local_var_req_builder =
152            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
153
154        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
155        local_var_req_builder =
156            local_var_req_builder.json(&preview_organization_subscription_update_tax_request);
157
158        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
159    }
160
161    async fn preview_premium_subscription_purchase_tax<'a>(
162        &self,
163        preview_premium_subscription_purchase_tax_request: Option<
164            models::PreviewPremiumSubscriptionPurchaseTaxRequest,
165        >,
166    ) -> Result<(), Error> {
167        let local_var_configuration = &self.configuration;
168
169        let local_var_client = &local_var_configuration.client;
170
171        let local_var_uri_str = format!(
172            "{}/billing/preview-invoice/premium/subscriptions/purchase",
173            local_var_configuration.base_path
174        );
175        let mut local_var_req_builder =
176            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
177
178        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
179        local_var_req_builder =
180            local_var_req_builder.json(&preview_premium_subscription_purchase_tax_request);
181
182        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
183    }
184
185    async fn preview_premium_upgrade_proration<'a>(
186        &self,
187        preview_premium_upgrade_proration_request: Option<
188            models::PreviewPremiumUpgradeProrationRequest,
189        >,
190    ) -> Result<(), Error> {
191        let local_var_configuration = &self.configuration;
192
193        let local_var_client = &local_var_configuration.client;
194
195        let local_var_uri_str = format!(
196            "{}/billing/preview-invoice/premium/subscriptions/upgrade",
197            local_var_configuration.base_path
198        );
199        let mut local_var_req_builder =
200            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
201
202        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
203        local_var_req_builder =
204            local_var_req_builder.json(&preview_premium_upgrade_proration_request);
205
206        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
207    }
208}