Skip to main content

bitwarden_api_api/apis/
mod.rs

1// Reexport base types from bitwarden-api-base for backwards compatibility
2pub use bitwarden_api_base::*;
3
4pub mod access_policies_api;
5pub mod access_requests_api;
6pub mod access_rules_api;
7pub mod account_billing_v_next_api;
8pub mod accounts_api;
9pub mod accounts_billing_api;
10pub mod accounts_key_management_api;
11pub mod auth_requests_api;
12pub mod cipher_lease_api;
13pub mod ciphers_api;
14pub mod collections_api;
15pub mod config_api;
16pub mod counts_api;
17pub mod devices_api;
18pub mod emergency_access_api;
19pub mod events_api;
20pub mod folders_api;
21pub mod groups_api;
22pub mod hibp_api;
23pub mod import_ciphers_api;
24pub mod info_api;
25pub mod installations_api;
26pub mod leases_api;
27pub mod licenses_api;
28pub mod notifications_api;
29pub mod organization_auth_requests_api;
30pub mod organization_billing_api;
31pub mod organization_billing_v_next_api;
32pub mod organization_connections_api;
33pub mod organization_domain_api;
34pub mod organization_export_api;
35pub mod organization_integration_api;
36pub mod organization_integration_configuration_api;
37pub mod organization_invite_links_api;
38pub mod organization_reports_api;
39pub mod organization_sponsorships_api;
40pub mod organization_users_api;
41pub mod organizations_api;
42pub mod plans_api;
43pub mod policies_api;
44pub mod preview_invoice_api;
45pub mod projects_api;
46pub mod provider_billing_api;
47pub mod provider_billing_v_next_api;
48pub mod provider_clients_api;
49pub mod provider_organizations_api;
50pub mod provider_users_api;
51pub mod providers_api;
52pub mod push_api;
53pub mod reports_api;
54pub mod request_sm_access_api;
55pub mod secret_versions_api;
56pub mod secrets_api;
57pub mod secrets_manager_events_api;
58pub mod secrets_manager_porting_api;
59pub mod security_task_api;
60pub mod self_hosted_account_billing_v_next_api;
61pub mod self_hosted_organization_billing_v_next_api;
62pub mod self_hosted_organization_licenses_api;
63pub mod self_hosted_organization_sponsorships_api;
64pub mod sends_api;
65pub mod service_accounts_api;
66pub mod settings_api;
67pub mod slack_integration_api;
68pub mod sso_cookie_vendor_api;
69pub mod stripe_api;
70pub mod sync_api;
71pub mod teams_integration_api;
72pub mod trash_api;
73pub mod two_factor_api;
74pub mod users_api;
75pub mod web_authn_api;
76
77// Reexport Configuration type from bitwarden-api-base for backwards compatibility
78pub mod configuration {
79    pub use bitwarden_api_base::Configuration;
80}
81
82use std::sync::Arc;
83
84#[allow(clippy::large_enum_variant, private_interfaces)]
85pub enum ApiClient {
86    Real(ApiClientReal),
87    #[cfg(feature = "mockall")]
88    Mock(ApiClientMock),
89}
90
91struct ApiClientReal {
92    access_policies_api: access_policies_api::AccessPoliciesApiClient,
93    access_requests_api: access_requests_api::AccessRequestsApiClient,
94    access_rules_api: access_rules_api::AccessRulesApiClient,
95    account_billing_v_next_api: account_billing_v_next_api::AccountBillingVNextApiClient,
96    accounts_api: accounts_api::AccountsApiClient,
97    accounts_billing_api: accounts_billing_api::AccountsBillingApiClient,
98    accounts_key_management_api: accounts_key_management_api::AccountsKeyManagementApiClient,
99    auth_requests_api: auth_requests_api::AuthRequestsApiClient,
100    cipher_lease_api: cipher_lease_api::CipherLeaseApiClient,
101    ciphers_api: ciphers_api::CiphersApiClient,
102    collections_api: collections_api::CollectionsApiClient,
103    config_api: config_api::ConfigApiClient,
104    counts_api: counts_api::CountsApiClient,
105    devices_api: devices_api::DevicesApiClient,
106    emergency_access_api: emergency_access_api::EmergencyAccessApiClient,
107    events_api: events_api::EventsApiClient,
108    folders_api: folders_api::FoldersApiClient,
109    groups_api: groups_api::GroupsApiClient,
110    hibp_api: hibp_api::HibpApiClient,
111    import_ciphers_api: import_ciphers_api::ImportCiphersApiClient,
112    info_api: info_api::InfoApiClient,
113    installations_api: installations_api::InstallationsApiClient,
114    leases_api: leases_api::LeasesApiClient,
115    licenses_api: licenses_api::LicensesApiClient,
116    notifications_api: notifications_api::NotificationsApiClient,
117    organization_auth_requests_api:
118        organization_auth_requests_api::OrganizationAuthRequestsApiClient,
119    organization_billing_api: organization_billing_api::OrganizationBillingApiClient,
120    organization_billing_v_next_api:
121        organization_billing_v_next_api::OrganizationBillingVNextApiClient,
122    organization_connections_api: organization_connections_api::OrganizationConnectionsApiClient,
123    organization_domain_api: organization_domain_api::OrganizationDomainApiClient,
124    organization_export_api: organization_export_api::OrganizationExportApiClient,
125    organization_integration_api: organization_integration_api::OrganizationIntegrationApiClient,
126    organization_integration_configuration_api:
127        organization_integration_configuration_api::OrganizationIntegrationConfigurationApiClient,
128    organization_invite_links_api: organization_invite_links_api::OrganizationInviteLinksApiClient,
129    organization_reports_api: organization_reports_api::OrganizationReportsApiClient,
130    organization_sponsorships_api: organization_sponsorships_api::OrganizationSponsorshipsApiClient,
131    organization_users_api: organization_users_api::OrganizationUsersApiClient,
132    organizations_api: organizations_api::OrganizationsApiClient,
133    plans_api: plans_api::PlansApiClient,
134    policies_api: policies_api::PoliciesApiClient,
135    preview_invoice_api: preview_invoice_api::PreviewInvoiceApiClient,
136    projects_api: projects_api::ProjectsApiClient,
137    provider_billing_api: provider_billing_api::ProviderBillingApiClient,
138    provider_billing_v_next_api: provider_billing_v_next_api::ProviderBillingVNextApiClient,
139    provider_clients_api: provider_clients_api::ProviderClientsApiClient,
140    provider_organizations_api: provider_organizations_api::ProviderOrganizationsApiClient,
141    provider_users_api: provider_users_api::ProviderUsersApiClient,
142    providers_api: providers_api::ProvidersApiClient,
143    push_api: push_api::PushApiClient,
144    reports_api: reports_api::ReportsApiClient,
145    request_sm_access_api: request_sm_access_api::RequestSmAccessApiClient,
146    secret_versions_api: secret_versions_api::SecretVersionsApiClient,
147    secrets_api: secrets_api::SecretsApiClient,
148    secrets_manager_events_api: secrets_manager_events_api::SecretsManagerEventsApiClient,
149    secrets_manager_porting_api: secrets_manager_porting_api::SecretsManagerPortingApiClient,
150    security_task_api: security_task_api::SecurityTaskApiClient,
151    self_hosted_account_billing_v_next_api:
152        self_hosted_account_billing_v_next_api::SelfHostedAccountBillingVNextApiClient,
153    self_hosted_organization_billing_v_next_api:
154        self_hosted_organization_billing_v_next_api::SelfHostedOrganizationBillingVNextApiClient,
155    self_hosted_organization_licenses_api:
156        self_hosted_organization_licenses_api::SelfHostedOrganizationLicensesApiClient,
157    self_hosted_organization_sponsorships_api:
158        self_hosted_organization_sponsorships_api::SelfHostedOrganizationSponsorshipsApiClient,
159    sends_api: sends_api::SendsApiClient,
160    service_accounts_api: service_accounts_api::ServiceAccountsApiClient,
161    settings_api: settings_api::SettingsApiClient,
162    slack_integration_api: slack_integration_api::SlackIntegrationApiClient,
163    sso_cookie_vendor_api: sso_cookie_vendor_api::SsoCookieVendorApiClient,
164    stripe_api: stripe_api::StripeApiClient,
165    sync_api: sync_api::SyncApiClient,
166    teams_integration_api: teams_integration_api::TeamsIntegrationApiClient,
167    trash_api: trash_api::TrashApiClient,
168    two_factor_api: two_factor_api::TwoFactorApiClient,
169    users_api: users_api::UsersApiClient,
170    web_authn_api: web_authn_api::WebAuthnApiClient,
171}
172
173#[cfg(feature = "mockall")]
174pub struct ApiClientMock {
175    pub access_policies_api: access_policies_api::MockAccessPoliciesApi,
176    pub access_requests_api: access_requests_api::MockAccessRequestsApi,
177    pub access_rules_api: access_rules_api::MockAccessRulesApi,
178    pub account_billing_v_next_api: account_billing_v_next_api::MockAccountBillingVNextApi,
179    pub accounts_api: accounts_api::MockAccountsApi,
180    pub accounts_billing_api: accounts_billing_api::MockAccountsBillingApi,
181    pub accounts_key_management_api: accounts_key_management_api::MockAccountsKeyManagementApi,
182    pub auth_requests_api: auth_requests_api::MockAuthRequestsApi,
183    pub cipher_lease_api: cipher_lease_api::MockCipherLeaseApi,
184    pub ciphers_api: ciphers_api::MockCiphersApi,
185    pub collections_api: collections_api::MockCollectionsApi,
186    pub config_api: config_api::MockConfigApi,
187    pub counts_api: counts_api::MockCountsApi,
188    pub devices_api: devices_api::MockDevicesApi,
189    pub emergency_access_api: emergency_access_api::MockEmergencyAccessApi,
190    pub events_api: events_api::MockEventsApi,
191    pub folders_api: folders_api::MockFoldersApi,
192    pub groups_api: groups_api::MockGroupsApi,
193    pub hibp_api: hibp_api::MockHibpApi,
194    pub import_ciphers_api: import_ciphers_api::MockImportCiphersApi,
195    pub info_api: info_api::MockInfoApi,
196    pub installations_api: installations_api::MockInstallationsApi,
197    pub leases_api: leases_api::MockLeasesApi,
198    pub licenses_api: licenses_api::MockLicensesApi,
199    pub notifications_api: notifications_api::MockNotificationsApi,
200    pub organization_auth_requests_api:
201        organization_auth_requests_api::MockOrganizationAuthRequestsApi,
202    pub organization_billing_api: organization_billing_api::MockOrganizationBillingApi,
203    pub organization_billing_v_next_api:
204        organization_billing_v_next_api::MockOrganizationBillingVNextApi,
205    pub organization_connections_api: organization_connections_api::MockOrganizationConnectionsApi,
206    pub organization_domain_api: organization_domain_api::MockOrganizationDomainApi,
207    pub organization_export_api: organization_export_api::MockOrganizationExportApi,
208    pub organization_integration_api: organization_integration_api::MockOrganizationIntegrationApi,
209    pub organization_integration_configuration_api:
210        organization_integration_configuration_api::MockOrganizationIntegrationConfigurationApi,
211    pub organization_invite_links_api:
212        organization_invite_links_api::MockOrganizationInviteLinksApi,
213    pub organization_reports_api: organization_reports_api::MockOrganizationReportsApi,
214    pub organization_sponsorships_api:
215        organization_sponsorships_api::MockOrganizationSponsorshipsApi,
216    pub organization_users_api: organization_users_api::MockOrganizationUsersApi,
217    pub organizations_api: organizations_api::MockOrganizationsApi,
218    pub plans_api: plans_api::MockPlansApi,
219    pub policies_api: policies_api::MockPoliciesApi,
220    pub preview_invoice_api: preview_invoice_api::MockPreviewInvoiceApi,
221    pub projects_api: projects_api::MockProjectsApi,
222    pub provider_billing_api: provider_billing_api::MockProviderBillingApi,
223    pub provider_billing_v_next_api: provider_billing_v_next_api::MockProviderBillingVNextApi,
224    pub provider_clients_api: provider_clients_api::MockProviderClientsApi,
225    pub provider_organizations_api: provider_organizations_api::MockProviderOrganizationsApi,
226    pub provider_users_api: provider_users_api::MockProviderUsersApi,
227    pub providers_api: providers_api::MockProvidersApi,
228    pub push_api: push_api::MockPushApi,
229    pub reports_api: reports_api::MockReportsApi,
230    pub request_sm_access_api: request_sm_access_api::MockRequestSmAccessApi,
231    pub secret_versions_api: secret_versions_api::MockSecretVersionsApi,
232    pub secrets_api: secrets_api::MockSecretsApi,
233    pub secrets_manager_events_api: secrets_manager_events_api::MockSecretsManagerEventsApi,
234    pub secrets_manager_porting_api: secrets_manager_porting_api::MockSecretsManagerPortingApi,
235    pub security_task_api: security_task_api::MockSecurityTaskApi,
236    pub self_hosted_account_billing_v_next_api:
237        self_hosted_account_billing_v_next_api::MockSelfHostedAccountBillingVNextApi,
238    pub self_hosted_organization_billing_v_next_api:
239        self_hosted_organization_billing_v_next_api::MockSelfHostedOrganizationBillingVNextApi,
240    pub self_hosted_organization_licenses_api:
241        self_hosted_organization_licenses_api::MockSelfHostedOrganizationLicensesApi,
242    pub self_hosted_organization_sponsorships_api:
243        self_hosted_organization_sponsorships_api::MockSelfHostedOrganizationSponsorshipsApi,
244    pub sends_api: sends_api::MockSendsApi,
245    pub service_accounts_api: service_accounts_api::MockServiceAccountsApi,
246    pub settings_api: settings_api::MockSettingsApi,
247    pub slack_integration_api: slack_integration_api::MockSlackIntegrationApi,
248    pub sso_cookie_vendor_api: sso_cookie_vendor_api::MockSsoCookieVendorApi,
249    pub stripe_api: stripe_api::MockStripeApi,
250    pub sync_api: sync_api::MockSyncApi,
251    pub teams_integration_api: teams_integration_api::MockTeamsIntegrationApi,
252    pub trash_api: trash_api::MockTrashApi,
253    pub two_factor_api: two_factor_api::MockTwoFactorApi,
254    pub users_api: users_api::MockUsersApi,
255    pub web_authn_api: web_authn_api::MockWebAuthnApi,
256}
257
258impl ApiClient {
259    pub fn new(configuration: &Arc<bitwarden_api_base::Configuration>) -> Self {
260        Self::Real(ApiClientReal {
261            access_policies_api: access_policies_api::AccessPoliciesApiClient::new(configuration.clone()),
262            access_requests_api: access_requests_api::AccessRequestsApiClient::new(configuration.clone()),
263            access_rules_api: access_rules_api::AccessRulesApiClient::new(configuration.clone()),
264            account_billing_v_next_api: account_billing_v_next_api::AccountBillingVNextApiClient::new(configuration.clone()),
265            accounts_api: accounts_api::AccountsApiClient::new(configuration.clone()),
266            accounts_billing_api: accounts_billing_api::AccountsBillingApiClient::new(configuration.clone()),
267            accounts_key_management_api: accounts_key_management_api::AccountsKeyManagementApiClient::new(configuration.clone()),
268            auth_requests_api: auth_requests_api::AuthRequestsApiClient::new(configuration.clone()),
269            cipher_lease_api: cipher_lease_api::CipherLeaseApiClient::new(configuration.clone()),
270            ciphers_api: ciphers_api::CiphersApiClient::new(configuration.clone()),
271            collections_api: collections_api::CollectionsApiClient::new(configuration.clone()),
272            config_api: config_api::ConfigApiClient::new(configuration.clone()),
273            counts_api: counts_api::CountsApiClient::new(configuration.clone()),
274            devices_api: devices_api::DevicesApiClient::new(configuration.clone()),
275            emergency_access_api: emergency_access_api::EmergencyAccessApiClient::new(configuration.clone()),
276            events_api: events_api::EventsApiClient::new(configuration.clone()),
277            folders_api: folders_api::FoldersApiClient::new(configuration.clone()),
278            groups_api: groups_api::GroupsApiClient::new(configuration.clone()),
279            hibp_api: hibp_api::HibpApiClient::new(configuration.clone()),
280            import_ciphers_api: import_ciphers_api::ImportCiphersApiClient::new(configuration.clone()),
281            info_api: info_api::InfoApiClient::new(configuration.clone()),
282            installations_api: installations_api::InstallationsApiClient::new(configuration.clone()),
283            leases_api: leases_api::LeasesApiClient::new(configuration.clone()),
284            licenses_api: licenses_api::LicensesApiClient::new(configuration.clone()),
285            notifications_api: notifications_api::NotificationsApiClient::new(configuration.clone()),
286            organization_auth_requests_api: organization_auth_requests_api::OrganizationAuthRequestsApiClient::new(configuration.clone()),
287            organization_billing_api: organization_billing_api::OrganizationBillingApiClient::new(configuration.clone()),
288            organization_billing_v_next_api: organization_billing_v_next_api::OrganizationBillingVNextApiClient::new(configuration.clone()),
289            organization_connections_api: organization_connections_api::OrganizationConnectionsApiClient::new(configuration.clone()),
290            organization_domain_api: organization_domain_api::OrganizationDomainApiClient::new(configuration.clone()),
291            organization_export_api: organization_export_api::OrganizationExportApiClient::new(configuration.clone()),
292            organization_integration_api: organization_integration_api::OrganizationIntegrationApiClient::new(configuration.clone()),
293            organization_integration_configuration_api: organization_integration_configuration_api::OrganizationIntegrationConfigurationApiClient::new(configuration.clone()),
294            organization_invite_links_api: organization_invite_links_api::OrganizationInviteLinksApiClient::new(configuration.clone()),
295            organization_reports_api: organization_reports_api::OrganizationReportsApiClient::new(configuration.clone()),
296            organization_sponsorships_api: organization_sponsorships_api::OrganizationSponsorshipsApiClient::new(configuration.clone()),
297            organization_users_api: organization_users_api::OrganizationUsersApiClient::new(configuration.clone()),
298            organizations_api: organizations_api::OrganizationsApiClient::new(configuration.clone()),
299            plans_api: plans_api::PlansApiClient::new(configuration.clone()),
300            policies_api: policies_api::PoliciesApiClient::new(configuration.clone()),
301            preview_invoice_api: preview_invoice_api::PreviewInvoiceApiClient::new(configuration.clone()),
302            projects_api: projects_api::ProjectsApiClient::new(configuration.clone()),
303            provider_billing_api: provider_billing_api::ProviderBillingApiClient::new(configuration.clone()),
304            provider_billing_v_next_api: provider_billing_v_next_api::ProviderBillingVNextApiClient::new(configuration.clone()),
305            provider_clients_api: provider_clients_api::ProviderClientsApiClient::new(configuration.clone()),
306            provider_organizations_api: provider_organizations_api::ProviderOrganizationsApiClient::new(configuration.clone()),
307            provider_users_api: provider_users_api::ProviderUsersApiClient::new(configuration.clone()),
308            providers_api: providers_api::ProvidersApiClient::new(configuration.clone()),
309            push_api: push_api::PushApiClient::new(configuration.clone()),
310            reports_api: reports_api::ReportsApiClient::new(configuration.clone()),
311            request_sm_access_api: request_sm_access_api::RequestSmAccessApiClient::new(configuration.clone()),
312            secret_versions_api: secret_versions_api::SecretVersionsApiClient::new(configuration.clone()),
313            secrets_api: secrets_api::SecretsApiClient::new(configuration.clone()),
314            secrets_manager_events_api: secrets_manager_events_api::SecretsManagerEventsApiClient::new(configuration.clone()),
315            secrets_manager_porting_api: secrets_manager_porting_api::SecretsManagerPortingApiClient::new(configuration.clone()),
316            security_task_api: security_task_api::SecurityTaskApiClient::new(configuration.clone()),
317            self_hosted_account_billing_v_next_api: self_hosted_account_billing_v_next_api::SelfHostedAccountBillingVNextApiClient::new(configuration.clone()),
318            self_hosted_organization_billing_v_next_api: self_hosted_organization_billing_v_next_api::SelfHostedOrganizationBillingVNextApiClient::new(configuration.clone()),
319            self_hosted_organization_licenses_api: self_hosted_organization_licenses_api::SelfHostedOrganizationLicensesApiClient::new(configuration.clone()),
320            self_hosted_organization_sponsorships_api: self_hosted_organization_sponsorships_api::SelfHostedOrganizationSponsorshipsApiClient::new(configuration.clone()),
321            sends_api: sends_api::SendsApiClient::new(configuration.clone()),
322            service_accounts_api: service_accounts_api::ServiceAccountsApiClient::new(configuration.clone()),
323            settings_api: settings_api::SettingsApiClient::new(configuration.clone()),
324            slack_integration_api: slack_integration_api::SlackIntegrationApiClient::new(configuration.clone()),
325            sso_cookie_vendor_api: sso_cookie_vendor_api::SsoCookieVendorApiClient::new(configuration.clone()),
326            stripe_api: stripe_api::StripeApiClient::new(configuration.clone()),
327            sync_api: sync_api::SyncApiClient::new(configuration.clone()),
328            teams_integration_api: teams_integration_api::TeamsIntegrationApiClient::new(configuration.clone()),
329            trash_api: trash_api::TrashApiClient::new(configuration.clone()),
330            two_factor_api: two_factor_api::TwoFactorApiClient::new(configuration.clone()),
331            users_api: users_api::UsersApiClient::new(configuration.clone()),
332            web_authn_api: web_authn_api::WebAuthnApiClient::new(configuration.clone()),
333        })
334    }
335
336    #[cfg(feature = "mockall")]
337    pub fn new_mocked(func: impl FnOnce(&mut ApiClientMock)) -> Self {
338        let mut mock = ApiClientMock {
339            access_policies_api: access_policies_api::MockAccessPoliciesApi::new(),
340            access_requests_api: access_requests_api::MockAccessRequestsApi::new(),
341            access_rules_api: access_rules_api::MockAccessRulesApi::new(),
342            account_billing_v_next_api: account_billing_v_next_api::MockAccountBillingVNextApi::new(),
343            accounts_api: accounts_api::MockAccountsApi::new(),
344            accounts_billing_api: accounts_billing_api::MockAccountsBillingApi::new(),
345            accounts_key_management_api: accounts_key_management_api::MockAccountsKeyManagementApi::new(),
346            auth_requests_api: auth_requests_api::MockAuthRequestsApi::new(),
347            cipher_lease_api: cipher_lease_api::MockCipherLeaseApi::new(),
348            ciphers_api: ciphers_api::MockCiphersApi::new(),
349            collections_api: collections_api::MockCollectionsApi::new(),
350            config_api: config_api::MockConfigApi::new(),
351            counts_api: counts_api::MockCountsApi::new(),
352            devices_api: devices_api::MockDevicesApi::new(),
353            emergency_access_api: emergency_access_api::MockEmergencyAccessApi::new(),
354            events_api: events_api::MockEventsApi::new(),
355            folders_api: folders_api::MockFoldersApi::new(),
356            groups_api: groups_api::MockGroupsApi::new(),
357            hibp_api: hibp_api::MockHibpApi::new(),
358            import_ciphers_api: import_ciphers_api::MockImportCiphersApi::new(),
359            info_api: info_api::MockInfoApi::new(),
360            installations_api: installations_api::MockInstallationsApi::new(),
361            leases_api: leases_api::MockLeasesApi::new(),
362            licenses_api: licenses_api::MockLicensesApi::new(),
363            notifications_api: notifications_api::MockNotificationsApi::new(),
364            organization_auth_requests_api: organization_auth_requests_api::MockOrganizationAuthRequestsApi::new(),
365            organization_billing_api: organization_billing_api::MockOrganizationBillingApi::new(),
366            organization_billing_v_next_api: organization_billing_v_next_api::MockOrganizationBillingVNextApi::new(),
367            organization_connections_api: organization_connections_api::MockOrganizationConnectionsApi::new(),
368            organization_domain_api: organization_domain_api::MockOrganizationDomainApi::new(),
369            organization_export_api: organization_export_api::MockOrganizationExportApi::new(),
370            organization_integration_api: organization_integration_api::MockOrganizationIntegrationApi::new(),
371            organization_integration_configuration_api: organization_integration_configuration_api::MockOrganizationIntegrationConfigurationApi::new(),
372            organization_invite_links_api: organization_invite_links_api::MockOrganizationInviteLinksApi::new(),
373            organization_reports_api: organization_reports_api::MockOrganizationReportsApi::new(),
374            organization_sponsorships_api: organization_sponsorships_api::MockOrganizationSponsorshipsApi::new(),
375            organization_users_api: organization_users_api::MockOrganizationUsersApi::new(),
376            organizations_api: organizations_api::MockOrganizationsApi::new(),
377            plans_api: plans_api::MockPlansApi::new(),
378            policies_api: policies_api::MockPoliciesApi::new(),
379            preview_invoice_api: preview_invoice_api::MockPreviewInvoiceApi::new(),
380            projects_api: projects_api::MockProjectsApi::new(),
381            provider_billing_api: provider_billing_api::MockProviderBillingApi::new(),
382            provider_billing_v_next_api: provider_billing_v_next_api::MockProviderBillingVNextApi::new(),
383            provider_clients_api: provider_clients_api::MockProviderClientsApi::new(),
384            provider_organizations_api: provider_organizations_api::MockProviderOrganizationsApi::new(),
385            provider_users_api: provider_users_api::MockProviderUsersApi::new(),
386            providers_api: providers_api::MockProvidersApi::new(),
387            push_api: push_api::MockPushApi::new(),
388            reports_api: reports_api::MockReportsApi::new(),
389            request_sm_access_api: request_sm_access_api::MockRequestSmAccessApi::new(),
390            secret_versions_api: secret_versions_api::MockSecretVersionsApi::new(),
391            secrets_api: secrets_api::MockSecretsApi::new(),
392            secrets_manager_events_api: secrets_manager_events_api::MockSecretsManagerEventsApi::new(),
393            secrets_manager_porting_api: secrets_manager_porting_api::MockSecretsManagerPortingApi::new(),
394            security_task_api: security_task_api::MockSecurityTaskApi::new(),
395            self_hosted_account_billing_v_next_api: self_hosted_account_billing_v_next_api::MockSelfHostedAccountBillingVNextApi::new(),
396            self_hosted_organization_billing_v_next_api: self_hosted_organization_billing_v_next_api::MockSelfHostedOrganizationBillingVNextApi::new(),
397            self_hosted_organization_licenses_api: self_hosted_organization_licenses_api::MockSelfHostedOrganizationLicensesApi::new(),
398            self_hosted_organization_sponsorships_api: self_hosted_organization_sponsorships_api::MockSelfHostedOrganizationSponsorshipsApi::new(),
399            sends_api: sends_api::MockSendsApi::new(),
400            service_accounts_api: service_accounts_api::MockServiceAccountsApi::new(),
401            settings_api: settings_api::MockSettingsApi::new(),
402            slack_integration_api: slack_integration_api::MockSlackIntegrationApi::new(),
403            sso_cookie_vendor_api: sso_cookie_vendor_api::MockSsoCookieVendorApi::new(),
404            stripe_api: stripe_api::MockStripeApi::new(),
405            sync_api: sync_api::MockSyncApi::new(),
406            teams_integration_api: teams_integration_api::MockTeamsIntegrationApi::new(),
407            trash_api: trash_api::MockTrashApi::new(),
408            two_factor_api: two_factor_api::MockTwoFactorApi::new(),
409            users_api: users_api::MockUsersApi::new(),
410            web_authn_api: web_authn_api::MockWebAuthnApi::new(),
411        };
412        func(&mut mock);
413        Self::Mock(mock)
414    }
415}
416
417impl ApiClient {
418    pub fn access_policies_api(&self) -> &dyn access_policies_api::AccessPoliciesApi {
419        match self {
420            ApiClient::Real(real) => &real.access_policies_api,
421            #[cfg(feature = "mockall")]
422            ApiClient::Mock(mock) => &mock.access_policies_api,
423        }
424    }
425    pub fn access_requests_api(&self) -> &dyn access_requests_api::AccessRequestsApi {
426        match self {
427            ApiClient::Real(real) => &real.access_requests_api,
428            #[cfg(feature = "mockall")]
429            ApiClient::Mock(mock) => &mock.access_requests_api,
430        }
431    }
432    pub fn access_rules_api(&self) -> &dyn access_rules_api::AccessRulesApi {
433        match self {
434            ApiClient::Real(real) => &real.access_rules_api,
435            #[cfg(feature = "mockall")]
436            ApiClient::Mock(mock) => &mock.access_rules_api,
437        }
438    }
439    pub fn account_billing_v_next_api(
440        &self,
441    ) -> &dyn account_billing_v_next_api::AccountBillingVNextApi {
442        match self {
443            ApiClient::Real(real) => &real.account_billing_v_next_api,
444            #[cfg(feature = "mockall")]
445            ApiClient::Mock(mock) => &mock.account_billing_v_next_api,
446        }
447    }
448    pub fn accounts_api(&self) -> &dyn accounts_api::AccountsApi {
449        match self {
450            ApiClient::Real(real) => &real.accounts_api,
451            #[cfg(feature = "mockall")]
452            ApiClient::Mock(mock) => &mock.accounts_api,
453        }
454    }
455    pub fn accounts_billing_api(&self) -> &dyn accounts_billing_api::AccountsBillingApi {
456        match self {
457            ApiClient::Real(real) => &real.accounts_billing_api,
458            #[cfg(feature = "mockall")]
459            ApiClient::Mock(mock) => &mock.accounts_billing_api,
460        }
461    }
462    pub fn accounts_key_management_api(
463        &self,
464    ) -> &dyn accounts_key_management_api::AccountsKeyManagementApi {
465        match self {
466            ApiClient::Real(real) => &real.accounts_key_management_api,
467            #[cfg(feature = "mockall")]
468            ApiClient::Mock(mock) => &mock.accounts_key_management_api,
469        }
470    }
471    pub fn auth_requests_api(&self) -> &dyn auth_requests_api::AuthRequestsApi {
472        match self {
473            ApiClient::Real(real) => &real.auth_requests_api,
474            #[cfg(feature = "mockall")]
475            ApiClient::Mock(mock) => &mock.auth_requests_api,
476        }
477    }
478    pub fn cipher_lease_api(&self) -> &dyn cipher_lease_api::CipherLeaseApi {
479        match self {
480            ApiClient::Real(real) => &real.cipher_lease_api,
481            #[cfg(feature = "mockall")]
482            ApiClient::Mock(mock) => &mock.cipher_lease_api,
483        }
484    }
485    pub fn ciphers_api(&self) -> &dyn ciphers_api::CiphersApi {
486        match self {
487            ApiClient::Real(real) => &real.ciphers_api,
488            #[cfg(feature = "mockall")]
489            ApiClient::Mock(mock) => &mock.ciphers_api,
490        }
491    }
492    pub fn collections_api(&self) -> &dyn collections_api::CollectionsApi {
493        match self {
494            ApiClient::Real(real) => &real.collections_api,
495            #[cfg(feature = "mockall")]
496            ApiClient::Mock(mock) => &mock.collections_api,
497        }
498    }
499    pub fn config_api(&self) -> &dyn config_api::ConfigApi {
500        match self {
501            ApiClient::Real(real) => &real.config_api,
502            #[cfg(feature = "mockall")]
503            ApiClient::Mock(mock) => &mock.config_api,
504        }
505    }
506    pub fn counts_api(&self) -> &dyn counts_api::CountsApi {
507        match self {
508            ApiClient::Real(real) => &real.counts_api,
509            #[cfg(feature = "mockall")]
510            ApiClient::Mock(mock) => &mock.counts_api,
511        }
512    }
513    pub fn devices_api(&self) -> &dyn devices_api::DevicesApi {
514        match self {
515            ApiClient::Real(real) => &real.devices_api,
516            #[cfg(feature = "mockall")]
517            ApiClient::Mock(mock) => &mock.devices_api,
518        }
519    }
520    pub fn emergency_access_api(&self) -> &dyn emergency_access_api::EmergencyAccessApi {
521        match self {
522            ApiClient::Real(real) => &real.emergency_access_api,
523            #[cfg(feature = "mockall")]
524            ApiClient::Mock(mock) => &mock.emergency_access_api,
525        }
526    }
527    pub fn events_api(&self) -> &dyn events_api::EventsApi {
528        match self {
529            ApiClient::Real(real) => &real.events_api,
530            #[cfg(feature = "mockall")]
531            ApiClient::Mock(mock) => &mock.events_api,
532        }
533    }
534    pub fn folders_api(&self) -> &dyn folders_api::FoldersApi {
535        match self {
536            ApiClient::Real(real) => &real.folders_api,
537            #[cfg(feature = "mockall")]
538            ApiClient::Mock(mock) => &mock.folders_api,
539        }
540    }
541    pub fn groups_api(&self) -> &dyn groups_api::GroupsApi {
542        match self {
543            ApiClient::Real(real) => &real.groups_api,
544            #[cfg(feature = "mockall")]
545            ApiClient::Mock(mock) => &mock.groups_api,
546        }
547    }
548    pub fn hibp_api(&self) -> &dyn hibp_api::HibpApi {
549        match self {
550            ApiClient::Real(real) => &real.hibp_api,
551            #[cfg(feature = "mockall")]
552            ApiClient::Mock(mock) => &mock.hibp_api,
553        }
554    }
555    pub fn import_ciphers_api(&self) -> &dyn import_ciphers_api::ImportCiphersApi {
556        match self {
557            ApiClient::Real(real) => &real.import_ciphers_api,
558            #[cfg(feature = "mockall")]
559            ApiClient::Mock(mock) => &mock.import_ciphers_api,
560        }
561    }
562    pub fn info_api(&self) -> &dyn info_api::InfoApi {
563        match self {
564            ApiClient::Real(real) => &real.info_api,
565            #[cfg(feature = "mockall")]
566            ApiClient::Mock(mock) => &mock.info_api,
567        }
568    }
569    pub fn installations_api(&self) -> &dyn installations_api::InstallationsApi {
570        match self {
571            ApiClient::Real(real) => &real.installations_api,
572            #[cfg(feature = "mockall")]
573            ApiClient::Mock(mock) => &mock.installations_api,
574        }
575    }
576    pub fn leases_api(&self) -> &dyn leases_api::LeasesApi {
577        match self {
578            ApiClient::Real(real) => &real.leases_api,
579            #[cfg(feature = "mockall")]
580            ApiClient::Mock(mock) => &mock.leases_api,
581        }
582    }
583    pub fn licenses_api(&self) -> &dyn licenses_api::LicensesApi {
584        match self {
585            ApiClient::Real(real) => &real.licenses_api,
586            #[cfg(feature = "mockall")]
587            ApiClient::Mock(mock) => &mock.licenses_api,
588        }
589    }
590    pub fn notifications_api(&self) -> &dyn notifications_api::NotificationsApi {
591        match self {
592            ApiClient::Real(real) => &real.notifications_api,
593            #[cfg(feature = "mockall")]
594            ApiClient::Mock(mock) => &mock.notifications_api,
595        }
596    }
597    pub fn organization_auth_requests_api(
598        &self,
599    ) -> &dyn organization_auth_requests_api::OrganizationAuthRequestsApi {
600        match self {
601            ApiClient::Real(real) => &real.organization_auth_requests_api,
602            #[cfg(feature = "mockall")]
603            ApiClient::Mock(mock) => &mock.organization_auth_requests_api,
604        }
605    }
606    pub fn organization_billing_api(
607        &self,
608    ) -> &dyn organization_billing_api::OrganizationBillingApi {
609        match self {
610            ApiClient::Real(real) => &real.organization_billing_api,
611            #[cfg(feature = "mockall")]
612            ApiClient::Mock(mock) => &mock.organization_billing_api,
613        }
614    }
615    pub fn organization_billing_v_next_api(
616        &self,
617    ) -> &dyn organization_billing_v_next_api::OrganizationBillingVNextApi {
618        match self {
619            ApiClient::Real(real) => &real.organization_billing_v_next_api,
620            #[cfg(feature = "mockall")]
621            ApiClient::Mock(mock) => &mock.organization_billing_v_next_api,
622        }
623    }
624    pub fn organization_connections_api(
625        &self,
626    ) -> &dyn organization_connections_api::OrganizationConnectionsApi {
627        match self {
628            ApiClient::Real(real) => &real.organization_connections_api,
629            #[cfg(feature = "mockall")]
630            ApiClient::Mock(mock) => &mock.organization_connections_api,
631        }
632    }
633    pub fn organization_domain_api(&self) -> &dyn organization_domain_api::OrganizationDomainApi {
634        match self {
635            ApiClient::Real(real) => &real.organization_domain_api,
636            #[cfg(feature = "mockall")]
637            ApiClient::Mock(mock) => &mock.organization_domain_api,
638        }
639    }
640    pub fn organization_export_api(&self) -> &dyn organization_export_api::OrganizationExportApi {
641        match self {
642            ApiClient::Real(real) => &real.organization_export_api,
643            #[cfg(feature = "mockall")]
644            ApiClient::Mock(mock) => &mock.organization_export_api,
645        }
646    }
647    pub fn organization_integration_api(
648        &self,
649    ) -> &dyn organization_integration_api::OrganizationIntegrationApi {
650        match self {
651            ApiClient::Real(real) => &real.organization_integration_api,
652            #[cfg(feature = "mockall")]
653            ApiClient::Mock(mock) => &mock.organization_integration_api,
654        }
655    }
656    pub fn organization_integration_configuration_api(
657        &self,
658    ) -> &dyn organization_integration_configuration_api::OrganizationIntegrationConfigurationApi
659    {
660        match self {
661            ApiClient::Real(real) => &real.organization_integration_configuration_api,
662            #[cfg(feature = "mockall")]
663            ApiClient::Mock(mock) => &mock.organization_integration_configuration_api,
664        }
665    }
666    pub fn organization_invite_links_api(
667        &self,
668    ) -> &dyn organization_invite_links_api::OrganizationInviteLinksApi {
669        match self {
670            ApiClient::Real(real) => &real.organization_invite_links_api,
671            #[cfg(feature = "mockall")]
672            ApiClient::Mock(mock) => &mock.organization_invite_links_api,
673        }
674    }
675    pub fn organization_reports_api(
676        &self,
677    ) -> &dyn organization_reports_api::OrganizationReportsApi {
678        match self {
679            ApiClient::Real(real) => &real.organization_reports_api,
680            #[cfg(feature = "mockall")]
681            ApiClient::Mock(mock) => &mock.organization_reports_api,
682        }
683    }
684    pub fn organization_sponsorships_api(
685        &self,
686    ) -> &dyn organization_sponsorships_api::OrganizationSponsorshipsApi {
687        match self {
688            ApiClient::Real(real) => &real.organization_sponsorships_api,
689            #[cfg(feature = "mockall")]
690            ApiClient::Mock(mock) => &mock.organization_sponsorships_api,
691        }
692    }
693    pub fn organization_users_api(&self) -> &dyn organization_users_api::OrganizationUsersApi {
694        match self {
695            ApiClient::Real(real) => &real.organization_users_api,
696            #[cfg(feature = "mockall")]
697            ApiClient::Mock(mock) => &mock.organization_users_api,
698        }
699    }
700    pub fn organizations_api(&self) -> &dyn organizations_api::OrganizationsApi {
701        match self {
702            ApiClient::Real(real) => &real.organizations_api,
703            #[cfg(feature = "mockall")]
704            ApiClient::Mock(mock) => &mock.organizations_api,
705        }
706    }
707    pub fn plans_api(&self) -> &dyn plans_api::PlansApi {
708        match self {
709            ApiClient::Real(real) => &real.plans_api,
710            #[cfg(feature = "mockall")]
711            ApiClient::Mock(mock) => &mock.plans_api,
712        }
713    }
714    pub fn policies_api(&self) -> &dyn policies_api::PoliciesApi {
715        match self {
716            ApiClient::Real(real) => &real.policies_api,
717            #[cfg(feature = "mockall")]
718            ApiClient::Mock(mock) => &mock.policies_api,
719        }
720    }
721    pub fn preview_invoice_api(&self) -> &dyn preview_invoice_api::PreviewInvoiceApi {
722        match self {
723            ApiClient::Real(real) => &real.preview_invoice_api,
724            #[cfg(feature = "mockall")]
725            ApiClient::Mock(mock) => &mock.preview_invoice_api,
726        }
727    }
728    pub fn projects_api(&self) -> &dyn projects_api::ProjectsApi {
729        match self {
730            ApiClient::Real(real) => &real.projects_api,
731            #[cfg(feature = "mockall")]
732            ApiClient::Mock(mock) => &mock.projects_api,
733        }
734    }
735    pub fn provider_billing_api(&self) -> &dyn provider_billing_api::ProviderBillingApi {
736        match self {
737            ApiClient::Real(real) => &real.provider_billing_api,
738            #[cfg(feature = "mockall")]
739            ApiClient::Mock(mock) => &mock.provider_billing_api,
740        }
741    }
742    pub fn provider_billing_v_next_api(
743        &self,
744    ) -> &dyn provider_billing_v_next_api::ProviderBillingVNextApi {
745        match self {
746            ApiClient::Real(real) => &real.provider_billing_v_next_api,
747            #[cfg(feature = "mockall")]
748            ApiClient::Mock(mock) => &mock.provider_billing_v_next_api,
749        }
750    }
751    pub fn provider_clients_api(&self) -> &dyn provider_clients_api::ProviderClientsApi {
752        match self {
753            ApiClient::Real(real) => &real.provider_clients_api,
754            #[cfg(feature = "mockall")]
755            ApiClient::Mock(mock) => &mock.provider_clients_api,
756        }
757    }
758    pub fn provider_organizations_api(
759        &self,
760    ) -> &dyn provider_organizations_api::ProviderOrganizationsApi {
761        match self {
762            ApiClient::Real(real) => &real.provider_organizations_api,
763            #[cfg(feature = "mockall")]
764            ApiClient::Mock(mock) => &mock.provider_organizations_api,
765        }
766    }
767    pub fn provider_users_api(&self) -> &dyn provider_users_api::ProviderUsersApi {
768        match self {
769            ApiClient::Real(real) => &real.provider_users_api,
770            #[cfg(feature = "mockall")]
771            ApiClient::Mock(mock) => &mock.provider_users_api,
772        }
773    }
774    pub fn providers_api(&self) -> &dyn providers_api::ProvidersApi {
775        match self {
776            ApiClient::Real(real) => &real.providers_api,
777            #[cfg(feature = "mockall")]
778            ApiClient::Mock(mock) => &mock.providers_api,
779        }
780    }
781    pub fn push_api(&self) -> &dyn push_api::PushApi {
782        match self {
783            ApiClient::Real(real) => &real.push_api,
784            #[cfg(feature = "mockall")]
785            ApiClient::Mock(mock) => &mock.push_api,
786        }
787    }
788    pub fn reports_api(&self) -> &dyn reports_api::ReportsApi {
789        match self {
790            ApiClient::Real(real) => &real.reports_api,
791            #[cfg(feature = "mockall")]
792            ApiClient::Mock(mock) => &mock.reports_api,
793        }
794    }
795    pub fn request_sm_access_api(&self) -> &dyn request_sm_access_api::RequestSmAccessApi {
796        match self {
797            ApiClient::Real(real) => &real.request_sm_access_api,
798            #[cfg(feature = "mockall")]
799            ApiClient::Mock(mock) => &mock.request_sm_access_api,
800        }
801    }
802    pub fn secret_versions_api(&self) -> &dyn secret_versions_api::SecretVersionsApi {
803        match self {
804            ApiClient::Real(real) => &real.secret_versions_api,
805            #[cfg(feature = "mockall")]
806            ApiClient::Mock(mock) => &mock.secret_versions_api,
807        }
808    }
809    pub fn secrets_api(&self) -> &dyn secrets_api::SecretsApi {
810        match self {
811            ApiClient::Real(real) => &real.secrets_api,
812            #[cfg(feature = "mockall")]
813            ApiClient::Mock(mock) => &mock.secrets_api,
814        }
815    }
816    pub fn secrets_manager_events_api(
817        &self,
818    ) -> &dyn secrets_manager_events_api::SecretsManagerEventsApi {
819        match self {
820            ApiClient::Real(real) => &real.secrets_manager_events_api,
821            #[cfg(feature = "mockall")]
822            ApiClient::Mock(mock) => &mock.secrets_manager_events_api,
823        }
824    }
825    pub fn secrets_manager_porting_api(
826        &self,
827    ) -> &dyn secrets_manager_porting_api::SecretsManagerPortingApi {
828        match self {
829            ApiClient::Real(real) => &real.secrets_manager_porting_api,
830            #[cfg(feature = "mockall")]
831            ApiClient::Mock(mock) => &mock.secrets_manager_porting_api,
832        }
833    }
834    pub fn security_task_api(&self) -> &dyn security_task_api::SecurityTaskApi {
835        match self {
836            ApiClient::Real(real) => &real.security_task_api,
837            #[cfg(feature = "mockall")]
838            ApiClient::Mock(mock) => &mock.security_task_api,
839        }
840    }
841    pub fn self_hosted_account_billing_v_next_api(
842        &self,
843    ) -> &dyn self_hosted_account_billing_v_next_api::SelfHostedAccountBillingVNextApi {
844        match self {
845            ApiClient::Real(real) => &real.self_hosted_account_billing_v_next_api,
846            #[cfg(feature = "mockall")]
847            ApiClient::Mock(mock) => &mock.self_hosted_account_billing_v_next_api,
848        }
849    }
850    pub fn self_hosted_organization_billing_v_next_api(
851        &self,
852    ) -> &dyn self_hosted_organization_billing_v_next_api::SelfHostedOrganizationBillingVNextApi
853    {
854        match self {
855            ApiClient::Real(real) => &real.self_hosted_organization_billing_v_next_api,
856            #[cfg(feature = "mockall")]
857            ApiClient::Mock(mock) => &mock.self_hosted_organization_billing_v_next_api,
858        }
859    }
860    pub fn self_hosted_organization_licenses_api(
861        &self,
862    ) -> &dyn self_hosted_organization_licenses_api::SelfHostedOrganizationLicensesApi {
863        match self {
864            ApiClient::Real(real) => &real.self_hosted_organization_licenses_api,
865            #[cfg(feature = "mockall")]
866            ApiClient::Mock(mock) => &mock.self_hosted_organization_licenses_api,
867        }
868    }
869    pub fn self_hosted_organization_sponsorships_api(
870        &self,
871    ) -> &dyn self_hosted_organization_sponsorships_api::SelfHostedOrganizationSponsorshipsApi {
872        match self {
873            ApiClient::Real(real) => &real.self_hosted_organization_sponsorships_api,
874            #[cfg(feature = "mockall")]
875            ApiClient::Mock(mock) => &mock.self_hosted_organization_sponsorships_api,
876        }
877    }
878    pub fn sends_api(&self) -> &dyn sends_api::SendsApi {
879        match self {
880            ApiClient::Real(real) => &real.sends_api,
881            #[cfg(feature = "mockall")]
882            ApiClient::Mock(mock) => &mock.sends_api,
883        }
884    }
885    pub fn service_accounts_api(&self) -> &dyn service_accounts_api::ServiceAccountsApi {
886        match self {
887            ApiClient::Real(real) => &real.service_accounts_api,
888            #[cfg(feature = "mockall")]
889            ApiClient::Mock(mock) => &mock.service_accounts_api,
890        }
891    }
892    pub fn settings_api(&self) -> &dyn settings_api::SettingsApi {
893        match self {
894            ApiClient::Real(real) => &real.settings_api,
895            #[cfg(feature = "mockall")]
896            ApiClient::Mock(mock) => &mock.settings_api,
897        }
898    }
899    pub fn slack_integration_api(&self) -> &dyn slack_integration_api::SlackIntegrationApi {
900        match self {
901            ApiClient::Real(real) => &real.slack_integration_api,
902            #[cfg(feature = "mockall")]
903            ApiClient::Mock(mock) => &mock.slack_integration_api,
904        }
905    }
906    pub fn sso_cookie_vendor_api(&self) -> &dyn sso_cookie_vendor_api::SsoCookieVendorApi {
907        match self {
908            ApiClient::Real(real) => &real.sso_cookie_vendor_api,
909            #[cfg(feature = "mockall")]
910            ApiClient::Mock(mock) => &mock.sso_cookie_vendor_api,
911        }
912    }
913    pub fn stripe_api(&self) -> &dyn stripe_api::StripeApi {
914        match self {
915            ApiClient::Real(real) => &real.stripe_api,
916            #[cfg(feature = "mockall")]
917            ApiClient::Mock(mock) => &mock.stripe_api,
918        }
919    }
920    pub fn sync_api(&self) -> &dyn sync_api::SyncApi {
921        match self {
922            ApiClient::Real(real) => &real.sync_api,
923            #[cfg(feature = "mockall")]
924            ApiClient::Mock(mock) => &mock.sync_api,
925        }
926    }
927    pub fn teams_integration_api(&self) -> &dyn teams_integration_api::TeamsIntegrationApi {
928        match self {
929            ApiClient::Real(real) => &real.teams_integration_api,
930            #[cfg(feature = "mockall")]
931            ApiClient::Mock(mock) => &mock.teams_integration_api,
932        }
933    }
934    pub fn trash_api(&self) -> &dyn trash_api::TrashApi {
935        match self {
936            ApiClient::Real(real) => &real.trash_api,
937            #[cfg(feature = "mockall")]
938            ApiClient::Mock(mock) => &mock.trash_api,
939        }
940    }
941    pub fn two_factor_api(&self) -> &dyn two_factor_api::TwoFactorApi {
942        match self {
943            ApiClient::Real(real) => &real.two_factor_api,
944            #[cfg(feature = "mockall")]
945            ApiClient::Mock(mock) => &mock.two_factor_api,
946        }
947    }
948    pub fn users_api(&self) -> &dyn users_api::UsersApi {
949        match self {
950            ApiClient::Real(real) => &real.users_api,
951            #[cfg(feature = "mockall")]
952            ApiClient::Mock(mock) => &mock.users_api,
953        }
954    }
955    pub fn web_authn_api(&self) -> &dyn web_authn_api::WebAuthnApi {
956        match self {
957            ApiClient::Real(real) => &real.web_authn_api,
958            #[cfg(feature = "mockall")]
959            ApiClient::Mock(mock) => &mock.web_authn_api,
960        }
961    }
962}