bitwarden_api_api/apis/
account_billing_v_next_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::{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 AccountBillingVNextApi: Send + Sync {
29    /// POST /account/billing/vnext/credit/bitpay
30    async fn add_credit_via_bit_pay<'a>(
31        &self,
32        email: &'a str,
33        security_stamp: &'a str,
34        api_key: &'a str,
35        id: Option<uuid::Uuid>,
36        name: Option<&'a str>,
37        email_verified: Option<bool>,
38        master_password: Option<&'a str>,
39        master_password_hint: Option<&'a str>,
40        culture: Option<&'a str>,
41        two_factor_providers: Option<&'a str>,
42        two_factor_recovery_code: Option<&'a str>,
43        equivalent_domains: Option<&'a str>,
44        excluded_global_equivalent_domains: Option<&'a str>,
45        account_revision_date: Option<String>,
46        key: Option<&'a str>,
47        public_key: Option<&'a str>,
48        private_key: Option<&'a str>,
49        premium: Option<bool>,
50        premium_expiration_date: Option<String>,
51        renewal_reminder_date: Option<String>,
52        storage: Option<i64>,
53        max_storage_gb: Option<i32>,
54        gateway: Option<models::GatewayType>,
55        gateway_customer_id: Option<&'a str>,
56        gateway_subscription_id: Option<&'a str>,
57        reference_data: Option<&'a str>,
58        license_key: Option<&'a str>,
59        kdf: Option<models::KdfType>,
60        kdf_iterations: Option<i32>,
61        kdf_memory: Option<i32>,
62        kdf_parallelism: Option<i32>,
63        creation_date: Option<String>,
64        revision_date: Option<String>,
65        force_password_reset: Option<bool>,
66        uses_key_connector: Option<bool>,
67        failed_login_count: Option<i32>,
68        last_failed_login_date: Option<String>,
69        avatar_color: Option<&'a str>,
70        last_password_change_date: Option<String>,
71        last_kdf_change_date: Option<String>,
72        last_key_rotation_date: Option<String>,
73        last_email_change_date: Option<String>,
74        verify_devices: Option<bool>,
75        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
76    ) -> Result<(), Error<AddCreditViaBitPayError>>;
77
78    /// POST /account/billing/vnext/subscription
79    async fn create_subscription<'a>(
80        &self,
81        email: &'a str,
82        security_stamp: &'a str,
83        api_key: &'a str,
84        id: Option<uuid::Uuid>,
85        name: Option<&'a str>,
86        email_verified: Option<bool>,
87        master_password: Option<&'a str>,
88        master_password_hint: Option<&'a str>,
89        culture: Option<&'a str>,
90        two_factor_providers: Option<&'a str>,
91        two_factor_recovery_code: Option<&'a str>,
92        equivalent_domains: Option<&'a str>,
93        excluded_global_equivalent_domains: Option<&'a str>,
94        account_revision_date: Option<String>,
95        key: Option<&'a str>,
96        public_key: Option<&'a str>,
97        private_key: Option<&'a str>,
98        premium: Option<bool>,
99        premium_expiration_date: Option<String>,
100        renewal_reminder_date: Option<String>,
101        storage: Option<i64>,
102        max_storage_gb: Option<i32>,
103        gateway: Option<models::GatewayType>,
104        gateway_customer_id: Option<&'a str>,
105        gateway_subscription_id: Option<&'a str>,
106        reference_data: Option<&'a str>,
107        license_key: Option<&'a str>,
108        kdf: Option<models::KdfType>,
109        kdf_iterations: Option<i32>,
110        kdf_memory: Option<i32>,
111        kdf_parallelism: Option<i32>,
112        creation_date: Option<String>,
113        revision_date: Option<String>,
114        force_password_reset: Option<bool>,
115        uses_key_connector: Option<bool>,
116        failed_login_count: Option<i32>,
117        last_failed_login_date: Option<String>,
118        avatar_color: Option<&'a str>,
119        last_password_change_date: Option<String>,
120        last_kdf_change_date: Option<String>,
121        last_key_rotation_date: Option<String>,
122        last_email_change_date: Option<String>,
123        verify_devices: Option<bool>,
124        premium_cloud_hosted_subscription_request: Option<
125            models::PremiumCloudHostedSubscriptionRequest,
126        >,
127    ) -> Result<(), Error<CreateSubscriptionError>>;
128
129    /// GET /account/billing/vnext/credit
130    async fn get_credit<'a>(
131        &self,
132        email: &'a str,
133        security_stamp: &'a str,
134        api_key: &'a str,
135        id: Option<uuid::Uuid>,
136        name: Option<&'a str>,
137        email_verified: Option<bool>,
138        master_password: Option<&'a str>,
139        master_password_hint: Option<&'a str>,
140        culture: Option<&'a str>,
141        two_factor_providers: Option<&'a str>,
142        two_factor_recovery_code: Option<&'a str>,
143        equivalent_domains: Option<&'a str>,
144        excluded_global_equivalent_domains: Option<&'a str>,
145        account_revision_date: Option<String>,
146        key: Option<&'a str>,
147        public_key: Option<&'a str>,
148        private_key: Option<&'a str>,
149        premium: Option<bool>,
150        premium_expiration_date: Option<String>,
151        renewal_reminder_date: Option<String>,
152        storage: Option<i64>,
153        max_storage_gb: Option<i32>,
154        gateway: Option<models::GatewayType>,
155        gateway_customer_id: Option<&'a str>,
156        gateway_subscription_id: Option<&'a str>,
157        reference_data: Option<&'a str>,
158        license_key: Option<&'a str>,
159        kdf: Option<models::KdfType>,
160        kdf_iterations: Option<i32>,
161        kdf_memory: Option<i32>,
162        kdf_parallelism: Option<i32>,
163        creation_date: Option<String>,
164        revision_date: Option<String>,
165        force_password_reset: Option<bool>,
166        uses_key_connector: Option<bool>,
167        failed_login_count: Option<i32>,
168        last_failed_login_date: Option<String>,
169        avatar_color: Option<&'a str>,
170        last_password_change_date: Option<String>,
171        last_kdf_change_date: Option<String>,
172        last_key_rotation_date: Option<String>,
173        last_email_change_date: Option<String>,
174        verify_devices: Option<bool>,
175    ) -> Result<(), Error<GetCreditError>>;
176
177    /// GET /account/billing/vnext/payment-method
178    async fn get_payment_method<'a>(
179        &self,
180        email: &'a str,
181        security_stamp: &'a str,
182        api_key: &'a str,
183        id: Option<uuid::Uuid>,
184        name: Option<&'a str>,
185        email_verified: Option<bool>,
186        master_password: Option<&'a str>,
187        master_password_hint: Option<&'a str>,
188        culture: Option<&'a str>,
189        two_factor_providers: Option<&'a str>,
190        two_factor_recovery_code: Option<&'a str>,
191        equivalent_domains: Option<&'a str>,
192        excluded_global_equivalent_domains: Option<&'a str>,
193        account_revision_date: Option<String>,
194        key: Option<&'a str>,
195        public_key: Option<&'a str>,
196        private_key: Option<&'a str>,
197        premium: Option<bool>,
198        premium_expiration_date: Option<String>,
199        renewal_reminder_date: Option<String>,
200        storage: Option<i64>,
201        max_storage_gb: Option<i32>,
202        gateway: Option<models::GatewayType>,
203        gateway_customer_id: Option<&'a str>,
204        gateway_subscription_id: Option<&'a str>,
205        reference_data: Option<&'a str>,
206        license_key: Option<&'a str>,
207        kdf: Option<models::KdfType>,
208        kdf_iterations: Option<i32>,
209        kdf_memory: Option<i32>,
210        kdf_parallelism: Option<i32>,
211        creation_date: Option<String>,
212        revision_date: Option<String>,
213        force_password_reset: Option<bool>,
214        uses_key_connector: Option<bool>,
215        failed_login_count: Option<i32>,
216        last_failed_login_date: Option<String>,
217        avatar_color: Option<&'a str>,
218        last_password_change_date: Option<String>,
219        last_kdf_change_date: Option<String>,
220        last_key_rotation_date: Option<String>,
221        last_email_change_date: Option<String>,
222        verify_devices: Option<bool>,
223    ) -> Result<(), Error<GetPaymentMethodError>>;
224
225    /// PUT /account/billing/vnext/payment-method
226    async fn update_payment_method<'a>(
227        &self,
228        email: &'a str,
229        security_stamp: &'a str,
230        api_key: &'a str,
231        id: Option<uuid::Uuid>,
232        name: Option<&'a str>,
233        email_verified: Option<bool>,
234        master_password: Option<&'a str>,
235        master_password_hint: Option<&'a str>,
236        culture: Option<&'a str>,
237        two_factor_providers: Option<&'a str>,
238        two_factor_recovery_code: Option<&'a str>,
239        equivalent_domains: Option<&'a str>,
240        excluded_global_equivalent_domains: Option<&'a str>,
241        account_revision_date: Option<String>,
242        key: Option<&'a str>,
243        public_key: Option<&'a str>,
244        private_key: Option<&'a str>,
245        premium: Option<bool>,
246        premium_expiration_date: Option<String>,
247        renewal_reminder_date: Option<String>,
248        storage: Option<i64>,
249        max_storage_gb: Option<i32>,
250        gateway: Option<models::GatewayType>,
251        gateway_customer_id: Option<&'a str>,
252        gateway_subscription_id: Option<&'a str>,
253        reference_data: Option<&'a str>,
254        license_key: Option<&'a str>,
255        kdf: Option<models::KdfType>,
256        kdf_iterations: Option<i32>,
257        kdf_memory: Option<i32>,
258        kdf_parallelism: Option<i32>,
259        creation_date: Option<String>,
260        revision_date: Option<String>,
261        force_password_reset: Option<bool>,
262        uses_key_connector: Option<bool>,
263        failed_login_count: Option<i32>,
264        last_failed_login_date: Option<String>,
265        avatar_color: Option<&'a str>,
266        last_password_change_date: Option<String>,
267        last_kdf_change_date: Option<String>,
268        last_key_rotation_date: Option<String>,
269        last_email_change_date: Option<String>,
270        verify_devices: Option<bool>,
271        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
272    ) -> Result<(), Error<UpdatePaymentMethodError>>;
273}
274
275pub struct AccountBillingVNextApiClient {
276    configuration: Arc<configuration::Configuration>,
277}
278
279impl AccountBillingVNextApiClient {
280    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
281        Self { configuration }
282    }
283}
284
285#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
286#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
287impl AccountBillingVNextApi for AccountBillingVNextApiClient {
288    async fn add_credit_via_bit_pay<'a>(
289        &self,
290        email: &'a str,
291        security_stamp: &'a str,
292        api_key: &'a str,
293        id: Option<uuid::Uuid>,
294        name: Option<&'a str>,
295        email_verified: Option<bool>,
296        master_password: Option<&'a str>,
297        master_password_hint: Option<&'a str>,
298        culture: Option<&'a str>,
299        two_factor_providers: Option<&'a str>,
300        two_factor_recovery_code: Option<&'a str>,
301        equivalent_domains: Option<&'a str>,
302        excluded_global_equivalent_domains: Option<&'a str>,
303        account_revision_date: Option<String>,
304        key: Option<&'a str>,
305        public_key: Option<&'a str>,
306        private_key: Option<&'a str>,
307        premium: Option<bool>,
308        premium_expiration_date: Option<String>,
309        renewal_reminder_date: Option<String>,
310        storage: Option<i64>,
311        max_storage_gb: Option<i32>,
312        gateway: Option<models::GatewayType>,
313        gateway_customer_id: Option<&'a str>,
314        gateway_subscription_id: Option<&'a str>,
315        reference_data: Option<&'a str>,
316        license_key: Option<&'a str>,
317        kdf: Option<models::KdfType>,
318        kdf_iterations: Option<i32>,
319        kdf_memory: Option<i32>,
320        kdf_parallelism: Option<i32>,
321        creation_date: Option<String>,
322        revision_date: Option<String>,
323        force_password_reset: Option<bool>,
324        uses_key_connector: Option<bool>,
325        failed_login_count: Option<i32>,
326        last_failed_login_date: Option<String>,
327        avatar_color: Option<&'a str>,
328        last_password_change_date: Option<String>,
329        last_kdf_change_date: Option<String>,
330        last_key_rotation_date: Option<String>,
331        last_email_change_date: Option<String>,
332        verify_devices: Option<bool>,
333        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
334    ) -> Result<(), Error<AddCreditViaBitPayError>> {
335        let local_var_configuration = &self.configuration;
336
337        let local_var_client = &local_var_configuration.client;
338
339        let local_var_uri_str = format!(
340            "{}/account/billing/vnext/credit/bitpay",
341            local_var_configuration.base_path
342        );
343        let mut local_var_req_builder =
344            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
345
346        if let Some(ref param_value) = id {
347            local_var_req_builder =
348                local_var_req_builder.query(&[("id", &param_value.to_string())]);
349        }
350        if let Some(ref param_value) = name {
351            local_var_req_builder =
352                local_var_req_builder.query(&[("name", &param_value.to_string())]);
353        }
354        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
355        if let Some(ref param_value) = email_verified {
356            local_var_req_builder =
357                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
358        }
359        if let Some(ref param_value) = master_password {
360            local_var_req_builder =
361                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
362        }
363        if let Some(ref param_value) = master_password_hint {
364            local_var_req_builder =
365                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
366        }
367        if let Some(ref param_value) = culture {
368            local_var_req_builder =
369                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
370        }
371        local_var_req_builder =
372            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
373        if let Some(ref param_value) = two_factor_providers {
374            local_var_req_builder =
375                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
376        }
377        if let Some(ref param_value) = two_factor_recovery_code {
378            local_var_req_builder =
379                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
380        }
381        if let Some(ref param_value) = equivalent_domains {
382            local_var_req_builder =
383                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
384        }
385        if let Some(ref param_value) = excluded_global_equivalent_domains {
386            local_var_req_builder = local_var_req_builder
387                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
388        }
389        if let Some(ref param_value) = account_revision_date {
390            local_var_req_builder =
391                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
392        }
393        if let Some(ref param_value) = key {
394            local_var_req_builder =
395                local_var_req_builder.query(&[("key", &param_value.to_string())]);
396        }
397        if let Some(ref param_value) = public_key {
398            local_var_req_builder =
399                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
400        }
401        if let Some(ref param_value) = private_key {
402            local_var_req_builder =
403                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
404        }
405        if let Some(ref param_value) = premium {
406            local_var_req_builder =
407                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
408        }
409        if let Some(ref param_value) = premium_expiration_date {
410            local_var_req_builder =
411                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
412        }
413        if let Some(ref param_value) = renewal_reminder_date {
414            local_var_req_builder =
415                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
416        }
417        if let Some(ref param_value) = storage {
418            local_var_req_builder =
419                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
420        }
421        if let Some(ref param_value) = max_storage_gb {
422            local_var_req_builder =
423                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
424        }
425        if let Some(ref param_value) = gateway {
426            local_var_req_builder =
427                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
428        }
429        if let Some(ref param_value) = gateway_customer_id {
430            local_var_req_builder =
431                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
432        }
433        if let Some(ref param_value) = gateway_subscription_id {
434            local_var_req_builder =
435                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
436        }
437        if let Some(ref param_value) = reference_data {
438            local_var_req_builder =
439                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
440        }
441        if let Some(ref param_value) = license_key {
442            local_var_req_builder =
443                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
444        }
445        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
446        if let Some(ref param_value) = kdf {
447            local_var_req_builder =
448                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
449        }
450        if let Some(ref param_value) = kdf_iterations {
451            local_var_req_builder =
452                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
453        }
454        if let Some(ref param_value) = kdf_memory {
455            local_var_req_builder =
456                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
457        }
458        if let Some(ref param_value) = kdf_parallelism {
459            local_var_req_builder =
460                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
461        }
462        if let Some(ref param_value) = creation_date {
463            local_var_req_builder =
464                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
465        }
466        if let Some(ref param_value) = revision_date {
467            local_var_req_builder =
468                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
469        }
470        if let Some(ref param_value) = force_password_reset {
471            local_var_req_builder =
472                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
473        }
474        if let Some(ref param_value) = uses_key_connector {
475            local_var_req_builder =
476                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
477        }
478        if let Some(ref param_value) = failed_login_count {
479            local_var_req_builder =
480                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
481        }
482        if let Some(ref param_value) = last_failed_login_date {
483            local_var_req_builder =
484                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
485        }
486        if let Some(ref param_value) = avatar_color {
487            local_var_req_builder =
488                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
489        }
490        if let Some(ref param_value) = last_password_change_date {
491            local_var_req_builder = local_var_req_builder
492                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
493        }
494        if let Some(ref param_value) = last_kdf_change_date {
495            local_var_req_builder =
496                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
497        }
498        if let Some(ref param_value) = last_key_rotation_date {
499            local_var_req_builder =
500                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
501        }
502        if let Some(ref param_value) = last_email_change_date {
503            local_var_req_builder =
504                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
505        }
506        if let Some(ref param_value) = verify_devices {
507            local_var_req_builder =
508                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
509        }
510        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
511            local_var_req_builder = local_var_req_builder
512                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
513        }
514        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
515            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
516        };
517        local_var_req_builder = local_var_req_builder.json(&bit_pay_credit_request);
518
519        let local_var_req = local_var_req_builder.build()?;
520        let local_var_resp = local_var_client.execute(local_var_req).await?;
521
522        let local_var_status = local_var_resp.status();
523        let local_var_content = local_var_resp.text().await?;
524
525        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
526            Ok(())
527        } else {
528            let local_var_entity: Option<AddCreditViaBitPayError> =
529                serde_json::from_str(&local_var_content).ok();
530            let local_var_error = ResponseContent {
531                status: local_var_status,
532                content: local_var_content,
533                entity: local_var_entity,
534            };
535            Err(Error::ResponseError(local_var_error))
536        }
537    }
538
539    async fn create_subscription<'a>(
540        &self,
541        email: &'a str,
542        security_stamp: &'a str,
543        api_key: &'a str,
544        id: Option<uuid::Uuid>,
545        name: Option<&'a str>,
546        email_verified: Option<bool>,
547        master_password: Option<&'a str>,
548        master_password_hint: Option<&'a str>,
549        culture: Option<&'a str>,
550        two_factor_providers: Option<&'a str>,
551        two_factor_recovery_code: Option<&'a str>,
552        equivalent_domains: Option<&'a str>,
553        excluded_global_equivalent_domains: Option<&'a str>,
554        account_revision_date: Option<String>,
555        key: Option<&'a str>,
556        public_key: Option<&'a str>,
557        private_key: Option<&'a str>,
558        premium: Option<bool>,
559        premium_expiration_date: Option<String>,
560        renewal_reminder_date: Option<String>,
561        storage: Option<i64>,
562        max_storage_gb: Option<i32>,
563        gateway: Option<models::GatewayType>,
564        gateway_customer_id: Option<&'a str>,
565        gateway_subscription_id: Option<&'a str>,
566        reference_data: Option<&'a str>,
567        license_key: Option<&'a str>,
568        kdf: Option<models::KdfType>,
569        kdf_iterations: Option<i32>,
570        kdf_memory: Option<i32>,
571        kdf_parallelism: Option<i32>,
572        creation_date: Option<String>,
573        revision_date: Option<String>,
574        force_password_reset: Option<bool>,
575        uses_key_connector: Option<bool>,
576        failed_login_count: Option<i32>,
577        last_failed_login_date: Option<String>,
578        avatar_color: Option<&'a str>,
579        last_password_change_date: Option<String>,
580        last_kdf_change_date: Option<String>,
581        last_key_rotation_date: Option<String>,
582        last_email_change_date: Option<String>,
583        verify_devices: Option<bool>,
584        premium_cloud_hosted_subscription_request: Option<
585            models::PremiumCloudHostedSubscriptionRequest,
586        >,
587    ) -> Result<(), Error<CreateSubscriptionError>> {
588        let local_var_configuration = &self.configuration;
589
590        let local_var_client = &local_var_configuration.client;
591
592        let local_var_uri_str = format!(
593            "{}/account/billing/vnext/subscription",
594            local_var_configuration.base_path
595        );
596        let mut local_var_req_builder =
597            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
598
599        if let Some(ref param_value) = id {
600            local_var_req_builder =
601                local_var_req_builder.query(&[("id", &param_value.to_string())]);
602        }
603        if let Some(ref param_value) = name {
604            local_var_req_builder =
605                local_var_req_builder.query(&[("name", &param_value.to_string())]);
606        }
607        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
608        if let Some(ref param_value) = email_verified {
609            local_var_req_builder =
610                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
611        }
612        if let Some(ref param_value) = master_password {
613            local_var_req_builder =
614                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
615        }
616        if let Some(ref param_value) = master_password_hint {
617            local_var_req_builder =
618                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
619        }
620        if let Some(ref param_value) = culture {
621            local_var_req_builder =
622                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
623        }
624        local_var_req_builder =
625            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
626        if let Some(ref param_value) = two_factor_providers {
627            local_var_req_builder =
628                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
629        }
630        if let Some(ref param_value) = two_factor_recovery_code {
631            local_var_req_builder =
632                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
633        }
634        if let Some(ref param_value) = equivalent_domains {
635            local_var_req_builder =
636                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
637        }
638        if let Some(ref param_value) = excluded_global_equivalent_domains {
639            local_var_req_builder = local_var_req_builder
640                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
641        }
642        if let Some(ref param_value) = account_revision_date {
643            local_var_req_builder =
644                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
645        }
646        if let Some(ref param_value) = key {
647            local_var_req_builder =
648                local_var_req_builder.query(&[("key", &param_value.to_string())]);
649        }
650        if let Some(ref param_value) = public_key {
651            local_var_req_builder =
652                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
653        }
654        if let Some(ref param_value) = private_key {
655            local_var_req_builder =
656                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
657        }
658        if let Some(ref param_value) = premium {
659            local_var_req_builder =
660                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
661        }
662        if let Some(ref param_value) = premium_expiration_date {
663            local_var_req_builder =
664                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
665        }
666        if let Some(ref param_value) = renewal_reminder_date {
667            local_var_req_builder =
668                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
669        }
670        if let Some(ref param_value) = storage {
671            local_var_req_builder =
672                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
673        }
674        if let Some(ref param_value) = max_storage_gb {
675            local_var_req_builder =
676                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
677        }
678        if let Some(ref param_value) = gateway {
679            local_var_req_builder =
680                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
681        }
682        if let Some(ref param_value) = gateway_customer_id {
683            local_var_req_builder =
684                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
685        }
686        if let Some(ref param_value) = gateway_subscription_id {
687            local_var_req_builder =
688                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
689        }
690        if let Some(ref param_value) = reference_data {
691            local_var_req_builder =
692                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
693        }
694        if let Some(ref param_value) = license_key {
695            local_var_req_builder =
696                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
697        }
698        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
699        if let Some(ref param_value) = kdf {
700            local_var_req_builder =
701                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
702        }
703        if let Some(ref param_value) = kdf_iterations {
704            local_var_req_builder =
705                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
706        }
707        if let Some(ref param_value) = kdf_memory {
708            local_var_req_builder =
709                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
710        }
711        if let Some(ref param_value) = kdf_parallelism {
712            local_var_req_builder =
713                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
714        }
715        if let Some(ref param_value) = creation_date {
716            local_var_req_builder =
717                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
718        }
719        if let Some(ref param_value) = revision_date {
720            local_var_req_builder =
721                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
722        }
723        if let Some(ref param_value) = force_password_reset {
724            local_var_req_builder =
725                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
726        }
727        if let Some(ref param_value) = uses_key_connector {
728            local_var_req_builder =
729                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
730        }
731        if let Some(ref param_value) = failed_login_count {
732            local_var_req_builder =
733                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
734        }
735        if let Some(ref param_value) = last_failed_login_date {
736            local_var_req_builder =
737                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
738        }
739        if let Some(ref param_value) = avatar_color {
740            local_var_req_builder =
741                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
742        }
743        if let Some(ref param_value) = last_password_change_date {
744            local_var_req_builder = local_var_req_builder
745                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
746        }
747        if let Some(ref param_value) = last_kdf_change_date {
748            local_var_req_builder =
749                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
750        }
751        if let Some(ref param_value) = last_key_rotation_date {
752            local_var_req_builder =
753                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
754        }
755        if let Some(ref param_value) = last_email_change_date {
756            local_var_req_builder =
757                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
758        }
759        if let Some(ref param_value) = verify_devices {
760            local_var_req_builder =
761                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
762        }
763        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
764            local_var_req_builder = local_var_req_builder
765                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
766        }
767        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
768            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
769        };
770        local_var_req_builder =
771            local_var_req_builder.json(&premium_cloud_hosted_subscription_request);
772
773        let local_var_req = local_var_req_builder.build()?;
774        let local_var_resp = local_var_client.execute(local_var_req).await?;
775
776        let local_var_status = local_var_resp.status();
777        let local_var_content = local_var_resp.text().await?;
778
779        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
780            Ok(())
781        } else {
782            let local_var_entity: Option<CreateSubscriptionError> =
783                serde_json::from_str(&local_var_content).ok();
784            let local_var_error = ResponseContent {
785                status: local_var_status,
786                content: local_var_content,
787                entity: local_var_entity,
788            };
789            Err(Error::ResponseError(local_var_error))
790        }
791    }
792
793    async fn get_credit<'a>(
794        &self,
795        email: &'a str,
796        security_stamp: &'a str,
797        api_key: &'a str,
798        id: Option<uuid::Uuid>,
799        name: Option<&'a str>,
800        email_verified: Option<bool>,
801        master_password: Option<&'a str>,
802        master_password_hint: Option<&'a str>,
803        culture: Option<&'a str>,
804        two_factor_providers: Option<&'a str>,
805        two_factor_recovery_code: Option<&'a str>,
806        equivalent_domains: Option<&'a str>,
807        excluded_global_equivalent_domains: Option<&'a str>,
808        account_revision_date: Option<String>,
809        key: Option<&'a str>,
810        public_key: Option<&'a str>,
811        private_key: Option<&'a str>,
812        premium: Option<bool>,
813        premium_expiration_date: Option<String>,
814        renewal_reminder_date: Option<String>,
815        storage: Option<i64>,
816        max_storage_gb: Option<i32>,
817        gateway: Option<models::GatewayType>,
818        gateway_customer_id: Option<&'a str>,
819        gateway_subscription_id: Option<&'a str>,
820        reference_data: Option<&'a str>,
821        license_key: Option<&'a str>,
822        kdf: Option<models::KdfType>,
823        kdf_iterations: Option<i32>,
824        kdf_memory: Option<i32>,
825        kdf_parallelism: Option<i32>,
826        creation_date: Option<String>,
827        revision_date: Option<String>,
828        force_password_reset: Option<bool>,
829        uses_key_connector: Option<bool>,
830        failed_login_count: Option<i32>,
831        last_failed_login_date: Option<String>,
832        avatar_color: Option<&'a str>,
833        last_password_change_date: Option<String>,
834        last_kdf_change_date: Option<String>,
835        last_key_rotation_date: Option<String>,
836        last_email_change_date: Option<String>,
837        verify_devices: Option<bool>,
838    ) -> Result<(), Error<GetCreditError>> {
839        let local_var_configuration = &self.configuration;
840
841        let local_var_client = &local_var_configuration.client;
842
843        let local_var_uri_str = format!(
844            "{}/account/billing/vnext/credit",
845            local_var_configuration.base_path
846        );
847        let mut local_var_req_builder =
848            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
849
850        if let Some(ref param_value) = id {
851            local_var_req_builder =
852                local_var_req_builder.query(&[("id", &param_value.to_string())]);
853        }
854        if let Some(ref param_value) = name {
855            local_var_req_builder =
856                local_var_req_builder.query(&[("name", &param_value.to_string())]);
857        }
858        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
859        if let Some(ref param_value) = email_verified {
860            local_var_req_builder =
861                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
862        }
863        if let Some(ref param_value) = master_password {
864            local_var_req_builder =
865                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
866        }
867        if let Some(ref param_value) = master_password_hint {
868            local_var_req_builder =
869                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
870        }
871        if let Some(ref param_value) = culture {
872            local_var_req_builder =
873                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
874        }
875        local_var_req_builder =
876            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
877        if let Some(ref param_value) = two_factor_providers {
878            local_var_req_builder =
879                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
880        }
881        if let Some(ref param_value) = two_factor_recovery_code {
882            local_var_req_builder =
883                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
884        }
885        if let Some(ref param_value) = equivalent_domains {
886            local_var_req_builder =
887                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
888        }
889        if let Some(ref param_value) = excluded_global_equivalent_domains {
890            local_var_req_builder = local_var_req_builder
891                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
892        }
893        if let Some(ref param_value) = account_revision_date {
894            local_var_req_builder =
895                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
896        }
897        if let Some(ref param_value) = key {
898            local_var_req_builder =
899                local_var_req_builder.query(&[("key", &param_value.to_string())]);
900        }
901        if let Some(ref param_value) = public_key {
902            local_var_req_builder =
903                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
904        }
905        if let Some(ref param_value) = private_key {
906            local_var_req_builder =
907                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
908        }
909        if let Some(ref param_value) = premium {
910            local_var_req_builder =
911                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
912        }
913        if let Some(ref param_value) = premium_expiration_date {
914            local_var_req_builder =
915                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
916        }
917        if let Some(ref param_value) = renewal_reminder_date {
918            local_var_req_builder =
919                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
920        }
921        if let Some(ref param_value) = storage {
922            local_var_req_builder =
923                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
924        }
925        if let Some(ref param_value) = max_storage_gb {
926            local_var_req_builder =
927                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
928        }
929        if let Some(ref param_value) = gateway {
930            local_var_req_builder =
931                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
932        }
933        if let Some(ref param_value) = gateway_customer_id {
934            local_var_req_builder =
935                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
936        }
937        if let Some(ref param_value) = gateway_subscription_id {
938            local_var_req_builder =
939                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
940        }
941        if let Some(ref param_value) = reference_data {
942            local_var_req_builder =
943                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
944        }
945        if let Some(ref param_value) = license_key {
946            local_var_req_builder =
947                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
948        }
949        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
950        if let Some(ref param_value) = kdf {
951            local_var_req_builder =
952                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
953        }
954        if let Some(ref param_value) = kdf_iterations {
955            local_var_req_builder =
956                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
957        }
958        if let Some(ref param_value) = kdf_memory {
959            local_var_req_builder =
960                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
961        }
962        if let Some(ref param_value) = kdf_parallelism {
963            local_var_req_builder =
964                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
965        }
966        if let Some(ref param_value) = creation_date {
967            local_var_req_builder =
968                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
969        }
970        if let Some(ref param_value) = revision_date {
971            local_var_req_builder =
972                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
973        }
974        if let Some(ref param_value) = force_password_reset {
975            local_var_req_builder =
976                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
977        }
978        if let Some(ref param_value) = uses_key_connector {
979            local_var_req_builder =
980                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
981        }
982        if let Some(ref param_value) = failed_login_count {
983            local_var_req_builder =
984                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
985        }
986        if let Some(ref param_value) = last_failed_login_date {
987            local_var_req_builder =
988                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
989        }
990        if let Some(ref param_value) = avatar_color {
991            local_var_req_builder =
992                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
993        }
994        if let Some(ref param_value) = last_password_change_date {
995            local_var_req_builder = local_var_req_builder
996                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
997        }
998        if let Some(ref param_value) = last_kdf_change_date {
999            local_var_req_builder =
1000                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1001        }
1002        if let Some(ref param_value) = last_key_rotation_date {
1003            local_var_req_builder =
1004                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1005        }
1006        if let Some(ref param_value) = last_email_change_date {
1007            local_var_req_builder =
1008                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1009        }
1010        if let Some(ref param_value) = verify_devices {
1011            local_var_req_builder =
1012                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1013        }
1014        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1015            local_var_req_builder = local_var_req_builder
1016                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1017        }
1018        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1019            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1020        };
1021
1022        let local_var_req = local_var_req_builder.build()?;
1023        let local_var_resp = local_var_client.execute(local_var_req).await?;
1024
1025        let local_var_status = local_var_resp.status();
1026        let local_var_content = local_var_resp.text().await?;
1027
1028        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1029            Ok(())
1030        } else {
1031            let local_var_entity: Option<GetCreditError> =
1032                serde_json::from_str(&local_var_content).ok();
1033            let local_var_error = ResponseContent {
1034                status: local_var_status,
1035                content: local_var_content,
1036                entity: local_var_entity,
1037            };
1038            Err(Error::ResponseError(local_var_error))
1039        }
1040    }
1041
1042    async fn get_payment_method<'a>(
1043        &self,
1044        email: &'a str,
1045        security_stamp: &'a str,
1046        api_key: &'a str,
1047        id: Option<uuid::Uuid>,
1048        name: Option<&'a str>,
1049        email_verified: Option<bool>,
1050        master_password: Option<&'a str>,
1051        master_password_hint: Option<&'a str>,
1052        culture: Option<&'a str>,
1053        two_factor_providers: Option<&'a str>,
1054        two_factor_recovery_code: Option<&'a str>,
1055        equivalent_domains: Option<&'a str>,
1056        excluded_global_equivalent_domains: Option<&'a str>,
1057        account_revision_date: Option<String>,
1058        key: Option<&'a str>,
1059        public_key: Option<&'a str>,
1060        private_key: Option<&'a str>,
1061        premium: Option<bool>,
1062        premium_expiration_date: Option<String>,
1063        renewal_reminder_date: Option<String>,
1064        storage: Option<i64>,
1065        max_storage_gb: Option<i32>,
1066        gateway: Option<models::GatewayType>,
1067        gateway_customer_id: Option<&'a str>,
1068        gateway_subscription_id: Option<&'a str>,
1069        reference_data: Option<&'a str>,
1070        license_key: Option<&'a str>,
1071        kdf: Option<models::KdfType>,
1072        kdf_iterations: Option<i32>,
1073        kdf_memory: Option<i32>,
1074        kdf_parallelism: Option<i32>,
1075        creation_date: Option<String>,
1076        revision_date: Option<String>,
1077        force_password_reset: Option<bool>,
1078        uses_key_connector: Option<bool>,
1079        failed_login_count: Option<i32>,
1080        last_failed_login_date: Option<String>,
1081        avatar_color: Option<&'a str>,
1082        last_password_change_date: Option<String>,
1083        last_kdf_change_date: Option<String>,
1084        last_key_rotation_date: Option<String>,
1085        last_email_change_date: Option<String>,
1086        verify_devices: Option<bool>,
1087    ) -> Result<(), Error<GetPaymentMethodError>> {
1088        let local_var_configuration = &self.configuration;
1089
1090        let local_var_client = &local_var_configuration.client;
1091
1092        let local_var_uri_str = format!(
1093            "{}/account/billing/vnext/payment-method",
1094            local_var_configuration.base_path
1095        );
1096        let mut local_var_req_builder =
1097            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1098
1099        if let Some(ref param_value) = id {
1100            local_var_req_builder =
1101                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1102        }
1103        if let Some(ref param_value) = name {
1104            local_var_req_builder =
1105                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1106        }
1107        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
1108        if let Some(ref param_value) = email_verified {
1109            local_var_req_builder =
1110                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
1111        }
1112        if let Some(ref param_value) = master_password {
1113            local_var_req_builder =
1114                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
1115        }
1116        if let Some(ref param_value) = master_password_hint {
1117            local_var_req_builder =
1118                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
1119        }
1120        if let Some(ref param_value) = culture {
1121            local_var_req_builder =
1122                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
1123        }
1124        local_var_req_builder =
1125            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
1126        if let Some(ref param_value) = two_factor_providers {
1127            local_var_req_builder =
1128                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1129        }
1130        if let Some(ref param_value) = two_factor_recovery_code {
1131            local_var_req_builder =
1132                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
1133        }
1134        if let Some(ref param_value) = equivalent_domains {
1135            local_var_req_builder =
1136                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
1137        }
1138        if let Some(ref param_value) = excluded_global_equivalent_domains {
1139            local_var_req_builder = local_var_req_builder
1140                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
1141        }
1142        if let Some(ref param_value) = account_revision_date {
1143            local_var_req_builder =
1144                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
1145        }
1146        if let Some(ref param_value) = key {
1147            local_var_req_builder =
1148                local_var_req_builder.query(&[("key", &param_value.to_string())]);
1149        }
1150        if let Some(ref param_value) = public_key {
1151            local_var_req_builder =
1152                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1153        }
1154        if let Some(ref param_value) = private_key {
1155            local_var_req_builder =
1156                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1157        }
1158        if let Some(ref param_value) = premium {
1159            local_var_req_builder =
1160                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
1161        }
1162        if let Some(ref param_value) = premium_expiration_date {
1163            local_var_req_builder =
1164                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
1165        }
1166        if let Some(ref param_value) = renewal_reminder_date {
1167            local_var_req_builder =
1168                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
1169        }
1170        if let Some(ref param_value) = storage {
1171            local_var_req_builder =
1172                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1173        }
1174        if let Some(ref param_value) = max_storage_gb {
1175            local_var_req_builder =
1176                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1177        }
1178        if let Some(ref param_value) = gateway {
1179            local_var_req_builder =
1180                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1181        }
1182        if let Some(ref param_value) = gateway_customer_id {
1183            local_var_req_builder =
1184                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1185        }
1186        if let Some(ref param_value) = gateway_subscription_id {
1187            local_var_req_builder =
1188                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1189        }
1190        if let Some(ref param_value) = reference_data {
1191            local_var_req_builder =
1192                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1193        }
1194        if let Some(ref param_value) = license_key {
1195            local_var_req_builder =
1196                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1197        }
1198        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
1199        if let Some(ref param_value) = kdf {
1200            local_var_req_builder =
1201                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
1202        }
1203        if let Some(ref param_value) = kdf_iterations {
1204            local_var_req_builder =
1205                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
1206        }
1207        if let Some(ref param_value) = kdf_memory {
1208            local_var_req_builder =
1209                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
1210        }
1211        if let Some(ref param_value) = kdf_parallelism {
1212            local_var_req_builder =
1213                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
1214        }
1215        if let Some(ref param_value) = creation_date {
1216            local_var_req_builder =
1217                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1218        }
1219        if let Some(ref param_value) = revision_date {
1220            local_var_req_builder =
1221                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1222        }
1223        if let Some(ref param_value) = force_password_reset {
1224            local_var_req_builder =
1225                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
1226        }
1227        if let Some(ref param_value) = uses_key_connector {
1228            local_var_req_builder =
1229                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
1230        }
1231        if let Some(ref param_value) = failed_login_count {
1232            local_var_req_builder =
1233                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
1234        }
1235        if let Some(ref param_value) = last_failed_login_date {
1236            local_var_req_builder =
1237                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
1238        }
1239        if let Some(ref param_value) = avatar_color {
1240            local_var_req_builder =
1241                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
1242        }
1243        if let Some(ref param_value) = last_password_change_date {
1244            local_var_req_builder = local_var_req_builder
1245                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
1246        }
1247        if let Some(ref param_value) = last_kdf_change_date {
1248            local_var_req_builder =
1249                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1250        }
1251        if let Some(ref param_value) = last_key_rotation_date {
1252            local_var_req_builder =
1253                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1254        }
1255        if let Some(ref param_value) = last_email_change_date {
1256            local_var_req_builder =
1257                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1258        }
1259        if let Some(ref param_value) = verify_devices {
1260            local_var_req_builder =
1261                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1262        }
1263        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1264            local_var_req_builder = local_var_req_builder
1265                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1266        }
1267        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1268            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1269        };
1270
1271        let local_var_req = local_var_req_builder.build()?;
1272        let local_var_resp = local_var_client.execute(local_var_req).await?;
1273
1274        let local_var_status = local_var_resp.status();
1275        let local_var_content = local_var_resp.text().await?;
1276
1277        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1278            Ok(())
1279        } else {
1280            let local_var_entity: Option<GetPaymentMethodError> =
1281                serde_json::from_str(&local_var_content).ok();
1282            let local_var_error = ResponseContent {
1283                status: local_var_status,
1284                content: local_var_content,
1285                entity: local_var_entity,
1286            };
1287            Err(Error::ResponseError(local_var_error))
1288        }
1289    }
1290
1291    async fn update_payment_method<'a>(
1292        &self,
1293        email: &'a str,
1294        security_stamp: &'a str,
1295        api_key: &'a str,
1296        id: Option<uuid::Uuid>,
1297        name: Option<&'a str>,
1298        email_verified: Option<bool>,
1299        master_password: Option<&'a str>,
1300        master_password_hint: Option<&'a str>,
1301        culture: Option<&'a str>,
1302        two_factor_providers: Option<&'a str>,
1303        two_factor_recovery_code: Option<&'a str>,
1304        equivalent_domains: Option<&'a str>,
1305        excluded_global_equivalent_domains: Option<&'a str>,
1306        account_revision_date: Option<String>,
1307        key: Option<&'a str>,
1308        public_key: Option<&'a str>,
1309        private_key: Option<&'a str>,
1310        premium: Option<bool>,
1311        premium_expiration_date: Option<String>,
1312        renewal_reminder_date: Option<String>,
1313        storage: Option<i64>,
1314        max_storage_gb: Option<i32>,
1315        gateway: Option<models::GatewayType>,
1316        gateway_customer_id: Option<&'a str>,
1317        gateway_subscription_id: Option<&'a str>,
1318        reference_data: Option<&'a str>,
1319        license_key: Option<&'a str>,
1320        kdf: Option<models::KdfType>,
1321        kdf_iterations: Option<i32>,
1322        kdf_memory: Option<i32>,
1323        kdf_parallelism: Option<i32>,
1324        creation_date: Option<String>,
1325        revision_date: Option<String>,
1326        force_password_reset: Option<bool>,
1327        uses_key_connector: Option<bool>,
1328        failed_login_count: Option<i32>,
1329        last_failed_login_date: Option<String>,
1330        avatar_color: Option<&'a str>,
1331        last_password_change_date: Option<String>,
1332        last_kdf_change_date: Option<String>,
1333        last_key_rotation_date: Option<String>,
1334        last_email_change_date: Option<String>,
1335        verify_devices: Option<bool>,
1336        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
1337    ) -> Result<(), Error<UpdatePaymentMethodError>> {
1338        let local_var_configuration = &self.configuration;
1339
1340        let local_var_client = &local_var_configuration.client;
1341
1342        let local_var_uri_str = format!(
1343            "{}/account/billing/vnext/payment-method",
1344            local_var_configuration.base_path
1345        );
1346        let mut local_var_req_builder =
1347            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1348
1349        if let Some(ref param_value) = id {
1350            local_var_req_builder =
1351                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1352        }
1353        if let Some(ref param_value) = name {
1354            local_var_req_builder =
1355                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1356        }
1357        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
1358        if let Some(ref param_value) = email_verified {
1359            local_var_req_builder =
1360                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
1361        }
1362        if let Some(ref param_value) = master_password {
1363            local_var_req_builder =
1364                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
1365        }
1366        if let Some(ref param_value) = master_password_hint {
1367            local_var_req_builder =
1368                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
1369        }
1370        if let Some(ref param_value) = culture {
1371            local_var_req_builder =
1372                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
1373        }
1374        local_var_req_builder =
1375            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
1376        if let Some(ref param_value) = two_factor_providers {
1377            local_var_req_builder =
1378                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1379        }
1380        if let Some(ref param_value) = two_factor_recovery_code {
1381            local_var_req_builder =
1382                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
1383        }
1384        if let Some(ref param_value) = equivalent_domains {
1385            local_var_req_builder =
1386                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
1387        }
1388        if let Some(ref param_value) = excluded_global_equivalent_domains {
1389            local_var_req_builder = local_var_req_builder
1390                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
1391        }
1392        if let Some(ref param_value) = account_revision_date {
1393            local_var_req_builder =
1394                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
1395        }
1396        if let Some(ref param_value) = key {
1397            local_var_req_builder =
1398                local_var_req_builder.query(&[("key", &param_value.to_string())]);
1399        }
1400        if let Some(ref param_value) = public_key {
1401            local_var_req_builder =
1402                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1403        }
1404        if let Some(ref param_value) = private_key {
1405            local_var_req_builder =
1406                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1407        }
1408        if let Some(ref param_value) = premium {
1409            local_var_req_builder =
1410                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
1411        }
1412        if let Some(ref param_value) = premium_expiration_date {
1413            local_var_req_builder =
1414                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
1415        }
1416        if let Some(ref param_value) = renewal_reminder_date {
1417            local_var_req_builder =
1418                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
1419        }
1420        if let Some(ref param_value) = storage {
1421            local_var_req_builder =
1422                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1423        }
1424        if let Some(ref param_value) = max_storage_gb {
1425            local_var_req_builder =
1426                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1427        }
1428        if let Some(ref param_value) = gateway {
1429            local_var_req_builder =
1430                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1431        }
1432        if let Some(ref param_value) = gateway_customer_id {
1433            local_var_req_builder =
1434                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1435        }
1436        if let Some(ref param_value) = gateway_subscription_id {
1437            local_var_req_builder =
1438                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1439        }
1440        if let Some(ref param_value) = reference_data {
1441            local_var_req_builder =
1442                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1443        }
1444        if let Some(ref param_value) = license_key {
1445            local_var_req_builder =
1446                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1447        }
1448        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
1449        if let Some(ref param_value) = kdf {
1450            local_var_req_builder =
1451                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
1452        }
1453        if let Some(ref param_value) = kdf_iterations {
1454            local_var_req_builder =
1455                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
1456        }
1457        if let Some(ref param_value) = kdf_memory {
1458            local_var_req_builder =
1459                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
1460        }
1461        if let Some(ref param_value) = kdf_parallelism {
1462            local_var_req_builder =
1463                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
1464        }
1465        if let Some(ref param_value) = creation_date {
1466            local_var_req_builder =
1467                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1468        }
1469        if let Some(ref param_value) = revision_date {
1470            local_var_req_builder =
1471                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1472        }
1473        if let Some(ref param_value) = force_password_reset {
1474            local_var_req_builder =
1475                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
1476        }
1477        if let Some(ref param_value) = uses_key_connector {
1478            local_var_req_builder =
1479                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
1480        }
1481        if let Some(ref param_value) = failed_login_count {
1482            local_var_req_builder =
1483                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
1484        }
1485        if let Some(ref param_value) = last_failed_login_date {
1486            local_var_req_builder =
1487                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
1488        }
1489        if let Some(ref param_value) = avatar_color {
1490            local_var_req_builder =
1491                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
1492        }
1493        if let Some(ref param_value) = last_password_change_date {
1494            local_var_req_builder = local_var_req_builder
1495                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
1496        }
1497        if let Some(ref param_value) = last_kdf_change_date {
1498            local_var_req_builder =
1499                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1500        }
1501        if let Some(ref param_value) = last_key_rotation_date {
1502            local_var_req_builder =
1503                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1504        }
1505        if let Some(ref param_value) = last_email_change_date {
1506            local_var_req_builder =
1507                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1508        }
1509        if let Some(ref param_value) = verify_devices {
1510            local_var_req_builder =
1511                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1512        }
1513        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1514            local_var_req_builder = local_var_req_builder
1515                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1516        }
1517        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1518            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1519        };
1520        local_var_req_builder = local_var_req_builder.json(&tokenized_payment_method_request);
1521
1522        let local_var_req = local_var_req_builder.build()?;
1523        let local_var_resp = local_var_client.execute(local_var_req).await?;
1524
1525        let local_var_status = local_var_resp.status();
1526        let local_var_content = local_var_resp.text().await?;
1527
1528        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1529            Ok(())
1530        } else {
1531            let local_var_entity: Option<UpdatePaymentMethodError> =
1532                serde_json::from_str(&local_var_content).ok();
1533            let local_var_error = ResponseContent {
1534                status: local_var_status,
1535                content: local_var_content,
1536                entity: local_var_entity,
1537            };
1538            Err(Error::ResponseError(local_var_error))
1539        }
1540    }
1541}
1542
1543/// struct for typed errors of method [`AccountBillingVNextApi::add_credit_via_bit_pay`]
1544#[derive(Debug, Clone, Serialize, Deserialize)]
1545#[serde(untagged)]
1546pub enum AddCreditViaBitPayError {
1547    UnknownValue(serde_json::Value),
1548}
1549/// struct for typed errors of method [`AccountBillingVNextApi::create_subscription`]
1550#[derive(Debug, Clone, Serialize, Deserialize)]
1551#[serde(untagged)]
1552pub enum CreateSubscriptionError {
1553    UnknownValue(serde_json::Value),
1554}
1555/// struct for typed errors of method [`AccountBillingVNextApi::get_credit`]
1556#[derive(Debug, Clone, Serialize, Deserialize)]
1557#[serde(untagged)]
1558pub enum GetCreditError {
1559    UnknownValue(serde_json::Value),
1560}
1561/// struct for typed errors of method [`AccountBillingVNextApi::get_payment_method`]
1562#[derive(Debug, Clone, Serialize, Deserialize)]
1563#[serde(untagged)]
1564pub enum GetPaymentMethodError {
1565    UnknownValue(serde_json::Value),
1566}
1567/// struct for typed errors of method [`AccountBillingVNextApi::update_payment_method`]
1568#[derive(Debug, Clone, Serialize, Deserialize)]
1569#[serde(untagged)]
1570pub enum UpdatePaymentMethodError {
1571    UnknownValue(serde_json::Value),
1572}