From 478778bbe537b609863c1cde456312b6fa24d214 Mon Sep 17 00:00:00 2001 From: "bw-ghapp[bot]" <178206702+bw-ghapp[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 04:08:16 +0000 Subject: [PATCH 1/2] Update API bindings - d2577f670e1cf9ca32791135d2197cff1fe12096 --- .../.openapi-generator/FILES | 23 +- crates/bitwarden-api-api/README.md | 36 +- .../src/apis/accounts_api.rs | 6 +- .../bitwarden-api-api/src/apis/ciphers_api.rs | 6 + .../bitwarden-api-api/src/apis/events_api.rs | 95 ++ .../src/apis/organization_billing_api.rs | 59 -- .../apis/organization_billing_v_next_api.rs | 415 ++++++++ .../src/apis/organizations_api.rs | 59 -- .../src/apis/slack_integration_api.rs | 15 +- crates/bitwarden-api-api/src/apis/tax_api.rs | 929 +++++++++++++++++- ...rs => checkout_billing_address_request.rs} | 10 +- .../src/models/event_response_model.rs | 6 + .../src/models/event_type.rs | 12 + .../src/models/kdf_request_model.rs | 55 +- ...sword_authentication_data_request_model.rs | 37 + ...d_unlock_and_authentication_data_model.rs} | 8 +- ...ster_password_unlock_data_request_model.rs | 37 + crates/bitwarden-api-api/src/models/mod.rs | 46 +- ...organization_integration_response_model.rs | 3 + .../models/organization_integration_status.rs | 47 + ...zation_subscription_plan_change_request.rs | 30 + ...anization_subscription_purchase_request.rs | 40 + ...rganization_subscription_update_request.rs | 30 + .../organization_verify_bank_request_model.rs | 27 - .../password_manager_purchase_selections.rs | 33 + .../password_manager_update_selections.rs | 30 + .../src/models/password_request_model.rs | 6 + .../{product_type.rs => plan_cadence_type.rs} | 18 +- .../src/models/policy_type.rs | 2 + ...on_subscription_plan_change_tax_request.rs | 33 + ...ation_subscription_purchase_tax_request.rs | 33 + ...ization_subscription_update_tax_request.rs | 29 + ...emium_subscription_purchase_tax_request.rs | 33 + ...unt_for_organization_trial_request_body.rs | 37 - .../models/provider_setup_request_model.rs | 15 +- .../models/restart_subscription_request.rs | 33 + .../secrets_manager_purchase_selections.rs | 33 + .../secrets_manager_update_selections.rs | 33 + .../src/models/unlock_data_request_model.rs | 4 +- crates/bitwarden-api-identity/README.md | 2 +- 40 files changed, 2105 insertions(+), 300 deletions(-) rename crates/bitwarden-api-api/src/models/{tax_information_dto.rs => checkout_billing_address_request.rs} (71%) create mode 100644 crates/bitwarden-api-api/src/models/master_password_authentication_data_request_model.rs rename crates/bitwarden-api-api/src/models/{master_password_unlock_data_model.rs => master_password_unlock_and_authentication_data_model.rs} (87%) create mode 100644 crates/bitwarden-api-api/src/models/master_password_unlock_data_request_model.rs create mode 100644 crates/bitwarden-api-api/src/models/organization_integration_status.rs create mode 100644 crates/bitwarden-api-api/src/models/organization_subscription_plan_change_request.rs create mode 100644 crates/bitwarden-api-api/src/models/organization_subscription_purchase_request.rs create mode 100644 crates/bitwarden-api-api/src/models/organization_subscription_update_request.rs delete mode 100644 crates/bitwarden-api-api/src/models/organization_verify_bank_request_model.rs create mode 100644 crates/bitwarden-api-api/src/models/password_manager_purchase_selections.rs create mode 100644 crates/bitwarden-api-api/src/models/password_manager_update_selections.rs rename crates/bitwarden-api-api/src/models/{product_type.rs => plan_cadence_type.rs} (69%) create mode 100644 crates/bitwarden-api-api/src/models/preview_organization_subscription_plan_change_tax_request.rs create mode 100644 crates/bitwarden-api-api/src/models/preview_organization_subscription_purchase_tax_request.rs create mode 100644 crates/bitwarden-api-api/src/models/preview_organization_subscription_update_tax_request.rs create mode 100644 crates/bitwarden-api-api/src/models/preview_premium_subscription_purchase_tax_request.rs delete mode 100644 crates/bitwarden-api-api/src/models/preview_tax_amount_for_organization_trial_request_body.rs create mode 100644 crates/bitwarden-api-api/src/models/restart_subscription_request.rs create mode 100644 crates/bitwarden-api-api/src/models/secrets_manager_purchase_selections.rs create mode 100644 crates/bitwarden-api-api/src/models/secrets_manager_update_selections.rs diff --git a/crates/bitwarden-api-api/.openapi-generator/FILES b/crates/bitwarden-api-api/.openapi-generator/FILES index 48b67cc71..54548041c 100644 --- a/crates/bitwarden-api-api/.openapi-generator/FILES +++ b/crates/bitwarden-api-api/.openapi-generator/FILES @@ -118,6 +118,7 @@ src/models/bulk_delete_response_model.rs src/models/bulk_delete_response_model_list_response_model.rs src/models/bulk_deny_admin_auth_request_request_model.rs src/models/change_plan_frequency_request.rs +src/models/checkout_billing_address_request.rs src/models/cipher.rs src/models/cipher_attachment_model.rs src/models/cipher_bulk_archive_request_model.rs @@ -241,8 +242,10 @@ src/models/key_regeneration_request_model.rs src/models/keys_request_model.rs src/models/keys_response_model.rs src/models/license_type.rs +src/models/master_password_authentication_data_request_model.rs src/models/master_password_policy_response_model.rs -src/models/master_password_unlock_data_model.rs +src/models/master_password_unlock_and_authentication_data_model.rs +src/models/master_password_unlock_data_request_model.rs src/models/master_password_unlock_kdf_response_model.rs src/models/master_password_unlock_response_model.rs src/models/member_access_detail_report_response_model.rs @@ -276,6 +279,7 @@ src/models/organization_integration_configuration_request_model.rs src/models/organization_integration_configuration_response_model.rs src/models/organization_integration_request_model.rs src/models/organization_integration_response_model.rs +src/models/organization_integration_status.rs src/models/organization_keys_request_model.rs src/models/organization_keys_response_model.rs src/models/organization_license.rs @@ -295,7 +299,10 @@ src/models/organization_sponsorship_sync_response_model.rs src/models/organization_sso_request_model.rs src/models/organization_sso_response_model.rs src/models/organization_status_type.rs +src/models/organization_subscription_plan_change_request.rs +src/models/organization_subscription_purchase_request.rs src/models/organization_subscription_response_model.rs +src/models/organization_subscription_update_request.rs src/models/organization_subscription_update_request_model.rs src/models/organization_update_request_model.rs src/models/organization_upgrade_request_model.rs @@ -322,13 +329,14 @@ src/models/organization_user_user_details_response_model.rs src/models/organization_user_user_details_response_model_list_response_model.rs src/models/organization_user_user_mini_details_response_model.rs src/models/organization_user_user_mini_details_response_model_list_response_model.rs -src/models/organization_verify_bank_request_model.rs src/models/organization_verify_delete_recover_request_model.rs src/models/other_device_keys_update_request_model.rs src/models/password_health_report_application.rs src/models/password_health_report_application_model.rs src/models/password_hint_request_model.rs src/models/password_manager_plan_features_response_model.rs +src/models/password_manager_purchase_selections.rs +src/models/password_manager_update_selections.rs src/models/password_request_model.rs src/models/payment_method_type.rs src/models/payment_request_model.rs @@ -340,6 +348,7 @@ src/models/pending_organization_auth_request_response_model.rs src/models/pending_organization_auth_request_response_model_list_response_model.rs src/models/people_access_policies_request_model.rs src/models/permissions.rs +src/models/plan_cadence_type.rs src/models/plan_response_model.rs src/models/plan_response_model_list_response_model.rs src/models/plan_sponsorship_type.rs @@ -355,10 +364,12 @@ src/models/pre_validate_sponsorship_response_model.rs src/models/premium_cloud_hosted_subscription_request.rs src/models/preview_individual_invoice_request_body.rs src/models/preview_organization_invoice_request_body.rs -src/models/preview_tax_amount_for_organization_trial_request_body.rs +src/models/preview_organization_subscription_plan_change_tax_request.rs +src/models/preview_organization_subscription_purchase_tax_request.rs +src/models/preview_organization_subscription_update_tax_request.rs +src/models/preview_premium_subscription_purchase_tax_request.rs src/models/priority.rs src/models/product_tier_type.rs -src/models/product_type.rs src/models/profile_organization_response_model.rs src/models/profile_organization_response_model_list_response_model.rs src/models/profile_provider_organization_response_model.rs @@ -413,6 +424,7 @@ src/models/push_update_request_model.rs src/models/request_sm_access_request_model.rs src/models/reset_password_with_org_id_request_model.rs src/models/response_data.rs +src/models/restart_subscription_request.rs src/models/revoke_access_tokens_request.rs src/models/rotate_user_account_keys_and_data_request_model.rs src/models/saml2_binding_type.rs @@ -429,9 +441,11 @@ src/models/secret_verification_request_model.rs src/models/secret_with_projects_inner_project.rs src/models/secret_with_projects_list_response_model.rs src/models/secrets_manager_plan_features_response_model.rs +src/models/secrets_manager_purchase_selections.rs src/models/secrets_manager_request_model.rs src/models/secrets_manager_subscribe_request_model.rs src/models/secrets_manager_subscription_update_request_model.rs +src/models/secrets_manager_update_selections.rs src/models/secrets_sync_response_model.rs src/models/secrets_with_projects_inner_secret.rs src/models/secure_note_type.rs @@ -482,7 +496,6 @@ src/models/sync_response_model.rs src/models/tax_id_request.rs src/models/tax_info_response_model.rs src/models/tax_info_update_request_model.rs -src/models/tax_information_dto.rs src/models/tax_information_request_body.rs src/models/tax_information_request_model.rs src/models/tokenized_payment_method_request.rs diff --git a/crates/bitwarden-api-api/README.md b/crates/bitwarden-api-api/README.md index c7c196f1e..2d828cf5a 100644 --- a/crates/bitwarden-api-api/README.md +++ b/crates/bitwarden-api-api/README.md @@ -12,7 +12,7 @@ client. - API version: latest - Package version: 1.0.0 - Server Git commit: - [`d384c0cfe60ec02226479d3cde200e4d785a7e50`](https://github.com/bitwarden/server/commit/d384c0cfe60ec02226479d3cde200e4d785a7e50) + [`d2577f670e1cf9ca32791135d2197cff1fe12096`](https://github.com/bitwarden/server/commit/d2577f670e1cf9ca32791135d2197cff1fe12096) - Generator version: 7.15.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` @@ -202,6 +202,7 @@ All URIs are relative to *https://api.bitwarden.com* | _EventsApi_ | [**get_provider**](docs/EventsApi.md#events_get_provider) | **GET** /providers/{providerId}/events | | _EventsApi_ | [**get_provider_user**](docs/EventsApi.md#events_get_provider_user) | **GET** /providers/{providerId}/users/{id}/events | | _EventsApi_ | [**get_secrets**](docs/EventsApi.md#events_get_secrets) | **GET** /organization/{orgId}/secrets/{id}/events | +| _EventsApi_ | [**get_service_accounts**](docs/EventsApi.md#events_get_service_accounts) | **GET** /organization/{orgId}/service-account/{id}/events | | _EventsApi_ | [**get_user**](docs/EventsApi.md#events_get_user) | **GET** /events | | _FoldersApi_ | [**delete**](docs/FoldersApi.md#folders_delete) | **DELETE** /folders/{id} | | _FoldersApi_ | [**delete_all**](docs/FoldersApi.md#folders_delete_all) | **DELETE** /folders/all | @@ -246,7 +247,6 @@ All URIs are relative to *https://api.bitwarden.com* | _OrganizationBillingApi_ | [**get_payment_method**](docs/OrganizationBillingApi.md#organization_billing_get_payment_method) | **GET** /organizations/{organizationId}/billing/payment-method | | _OrganizationBillingApi_ | [**get_tax_information**](docs/OrganizationBillingApi.md#organization_billing_get_tax_information) | **GET** /organizations/{organizationId}/billing/tax-information | | _OrganizationBillingApi_ | [**get_transactions**](docs/OrganizationBillingApi.md#organization_billing_get_transactions) | **GET** /organizations/{organizationId}/billing/transactions | -| _OrganizationBillingApi_ | [**restart_subscription**](docs/OrganizationBillingApi.md#organization_billing_restart_subscription) | **POST** /organizations/{organizationId}/billing/restart-subscription | | _OrganizationBillingApi_ | [**setup_business_unit**](docs/OrganizationBillingApi.md#organization_billing_setup_business_unit) | **POST** /organizations/{organizationId}/billing/setup-business-unit | | _OrganizationBillingApi_ | [**update_payment_method**](docs/OrganizationBillingApi.md#organization_billing_update_payment_method) | **PUT** /organizations/{organizationId}/billing/payment-method | | _OrganizationBillingApi_ | [**update_tax_information**](docs/OrganizationBillingApi.md#organization_billing_update_tax_information) | **PUT** /organizations/{organizationId}/billing/tax-information | @@ -256,6 +256,7 @@ All URIs are relative to *https://api.bitwarden.com* | _OrganizationBillingVNextApi_ | [**get_credit**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_get_credit) | **GET** /organizations/{organizationId}/billing/vnext/credit | | _OrganizationBillingVNextApi_ | [**get_payment_method**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_get_payment_method) | **GET** /organizations/{organizationId}/billing/vnext/payment-method | | _OrganizationBillingVNextApi_ | [**get_warnings**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_get_warnings) | **GET** /organizations/{organizationId}/billing/vnext/warnings | +| _OrganizationBillingVNextApi_ | [**restart_subscription**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_restart_subscription) | **POST** /organizations/{organizationId}/billing/vnext/subscription/restart | | _OrganizationBillingVNextApi_ | [**update_billing_address**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_update_billing_address) | **PUT** /organizations/{organizationId}/billing/vnext/address | | _OrganizationBillingVNextApi_ | [**update_payment_method**](docs/OrganizationBillingVNextApi.md#organization_billing_v_next_update_payment_method) | **PUT** /organizations/{organizationId}/billing/vnext/payment-method | | _OrganizationConnectionsApi_ | [**connections_enabled**](docs/OrganizationConnectionsApi.md#organization_connections_connections_enabled) | **GET** /organizations/connections/enabled | @@ -351,7 +352,6 @@ All URIs are relative to *https://api.bitwarden.com* | _OrganizationsApi_ | [**post_subscribe_secrets_manager**](docs/OrganizationsApi.md#organizations_post_subscribe_secrets_manager) | **POST** /organizations/{id}/subscribe-secrets-manager | | _OrganizationsApi_ | [**post_subscription**](docs/OrganizationsApi.md#organizations_post_subscription) | **POST** /organizations/{id}/subscription | | _OrganizationsApi_ | [**post_upgrade**](docs/OrganizationsApi.md#organizations_post_upgrade) | **POST** /organizations/{id}/upgrade | -| _OrganizationsApi_ | [**post_verify_bank**](docs/OrganizationsApi.md#organizations_post_verify_bank) | **POST** /organizations/{id}/verify-bank | | _OrganizationsApi_ | [**put**](docs/OrganizationsApi.md#organizations_put) | **PUT** /organizations/{id} | | _OrganizationsApi_ | [**put_collection_management**](docs/OrganizationsApi.md#organizations_put_collection_management) | **PUT** /organizations/{id}/collection-management | | _OrganizationsApi_ | [**put_tax_info**](docs/OrganizationsApi.md#organizations_put_tax_info) | **PUT** /organizations/{id}/tax | @@ -467,13 +467,16 @@ All URIs are relative to *https://api.bitwarden.com* | _ServiceAccountsApi_ | [**update**](docs/ServiceAccountsApi.md#service_accounts_update) | **PUT** /service-accounts/{id} | | _SettingsApi_ | [**get_domains**](docs/SettingsApi.md#settings_get_domains) | **GET** /settings/domains | | _SettingsApi_ | [**put_domains**](docs/SettingsApi.md#settings_put_domains) | **PUT** /settings/domains | -| _SlackIntegrationApi_ | [**create**](docs/SlackIntegrationApi.md#slack_integration_create) | **GET** /organizations/{organizationId}/integrations/slack/create | +| _SlackIntegrationApi_ | [**create**](docs/SlackIntegrationApi.md#slack_integration_create) | **GET** /organizations/integrations/slack/create | | _SlackIntegrationApi_ | [**redirect**](docs/SlackIntegrationApi.md#slack_integration_redirect) | **GET** /organizations/{organizationId}/integrations/slack/redirect | | _StripeApi_ | [**create_setup_intent_for_bank_account**](docs/StripeApi.md#stripe_create_setup_intent_for_bank_account) | **POST** /setup-intent/bank-account | | _StripeApi_ | [**create_setup_intent_for_card**](docs/StripeApi.md#stripe_create_setup_intent_for_card) | **POST** /setup-intent/card | | _StripeApi_ | [**is_country_supported**](docs/StripeApi.md#stripe_is_country_supported) | **GET** /tax/is-country-supported | | _SyncApi_ | [**get**](docs/SyncApi.md#sync_get) | **GET** /sync | -| _TaxApi_ | [**preview_tax_amount_for_organization_trial**](docs/TaxApi.md#tax_preview_tax_amount_for_organization_trial) | **POST** /tax/preview-amount/organization-trial | +| _TaxApi_ | [**preview_organization_subscription_plan_change_tax**](docs/TaxApi.md#tax_preview_organization_subscription_plan_change_tax) | **POST** /billing/tax/organizations/{organizationId}/subscription/plan-change | +| _TaxApi_ | [**preview_organization_subscription_purchase_tax**](docs/TaxApi.md#tax_preview_organization_subscription_purchase_tax) | **POST** /billing/tax/organizations/subscriptions/purchase | +| _TaxApi_ | [**preview_organization_subscription_update_tax**](docs/TaxApi.md#tax_preview_organization_subscription_update_tax) | **PUT** /billing/tax/organizations/{organizationId}/subscription/update | +| _TaxApi_ | [**preview_premium_subscription_purchase_tax**](docs/TaxApi.md#tax_preview_premium_subscription_purchase_tax) | **POST** /billing/tax/premium/subscriptions/purchase | | _TrashApi_ | [**empty_trash**](docs/TrashApi.md#trash_empty_trash) | **POST** /secrets/{organizationId}/trash/empty | | _TrashApi_ | [**list_by_organization**](docs/TrashApi.md#trash_list_by_organization) | **GET** /secrets/{organizationId}/trash | | _TrashApi_ | [**restore_trash**](docs/TrashApi.md#trash_restore_trash) | **POST** /secrets/{organizationId}/trash/restore | @@ -558,6 +561,7 @@ All URIs are relative to *https://api.bitwarden.com* - [BulkDeleteResponseModelListResponseModel](docs/BulkDeleteResponseModelListResponseModel.md) - [BulkDenyAdminAuthRequestRequestModel](docs/BulkDenyAdminAuthRequestRequestModel.md) - [ChangePlanFrequencyRequest](docs/ChangePlanFrequencyRequest.md) +- [CheckoutBillingAddressRequest](docs/CheckoutBillingAddressRequest.md) - [Cipher](docs/Cipher.md) - [CipherAttachmentModel](docs/CipherAttachmentModel.md) - [CipherBulkArchiveRequestModel](docs/CipherBulkArchiveRequestModel.md) @@ -681,8 +685,10 @@ All URIs are relative to *https://api.bitwarden.com* - [KeysRequestModel](docs/KeysRequestModel.md) - [KeysResponseModel](docs/KeysResponseModel.md) - [LicenseType](docs/LicenseType.md) +- [MasterPasswordAuthenticationDataRequestModel](docs/MasterPasswordAuthenticationDataRequestModel.md) - [MasterPasswordPolicyResponseModel](docs/MasterPasswordPolicyResponseModel.md) -- [MasterPasswordUnlockDataModel](docs/MasterPasswordUnlockDataModel.md) +- [MasterPasswordUnlockAndAuthenticationDataModel](docs/MasterPasswordUnlockAndAuthenticationDataModel.md) +- [MasterPasswordUnlockDataRequestModel](docs/MasterPasswordUnlockDataRequestModel.md) - [MasterPasswordUnlockKdfResponseModel](docs/MasterPasswordUnlockKdfResponseModel.md) - [MasterPasswordUnlockResponseModel](docs/MasterPasswordUnlockResponseModel.md) - [MemberAccessDetailReportResponseModel](docs/MemberAccessDetailReportResponseModel.md) @@ -715,6 +721,7 @@ All URIs are relative to *https://api.bitwarden.com* - [OrganizationIntegrationConfigurationResponseModel](docs/OrganizationIntegrationConfigurationResponseModel.md) - [OrganizationIntegrationRequestModel](docs/OrganizationIntegrationRequestModel.md) - [OrganizationIntegrationResponseModel](docs/OrganizationIntegrationResponseModel.md) +- [OrganizationIntegrationStatus](docs/OrganizationIntegrationStatus.md) - [OrganizationKeysRequestModel](docs/OrganizationKeysRequestModel.md) - [OrganizationKeysResponseModel](docs/OrganizationKeysResponseModel.md) - [OrganizationLicense](docs/OrganizationLicense.md) @@ -734,7 +741,10 @@ All URIs are relative to *https://api.bitwarden.com* - [OrganizationSsoRequestModel](docs/OrganizationSsoRequestModel.md) - [OrganizationSsoResponseModel](docs/OrganizationSsoResponseModel.md) - [OrganizationStatusType](docs/OrganizationStatusType.md) +- [OrganizationSubscriptionPlanChangeRequest](docs/OrganizationSubscriptionPlanChangeRequest.md) +- [OrganizationSubscriptionPurchaseRequest](docs/OrganizationSubscriptionPurchaseRequest.md) - [OrganizationSubscriptionResponseModel](docs/OrganizationSubscriptionResponseModel.md) +- [OrganizationSubscriptionUpdateRequest](docs/OrganizationSubscriptionUpdateRequest.md) - [OrganizationSubscriptionUpdateRequestModel](docs/OrganizationSubscriptionUpdateRequestModel.md) - [OrganizationUpdateRequestModel](docs/OrganizationUpdateRequestModel.md) - [OrganizationUpgradeRequestModel](docs/OrganizationUpgradeRequestModel.md) @@ -761,13 +771,14 @@ All URIs are relative to *https://api.bitwarden.com* - [OrganizationUserUserDetailsResponseModelListResponseModel](docs/OrganizationUserUserDetailsResponseModelListResponseModel.md) - [OrganizationUserUserMiniDetailsResponseModel](docs/OrganizationUserUserMiniDetailsResponseModel.md) - [OrganizationUserUserMiniDetailsResponseModelListResponseModel](docs/OrganizationUserUserMiniDetailsResponseModelListResponseModel.md) -- [OrganizationVerifyBankRequestModel](docs/OrganizationVerifyBankRequestModel.md) - [OrganizationVerifyDeleteRecoverRequestModel](docs/OrganizationVerifyDeleteRecoverRequestModel.md) - [OtherDeviceKeysUpdateRequestModel](docs/OtherDeviceKeysUpdateRequestModel.md) - [PasswordHealthReportApplication](docs/PasswordHealthReportApplication.md) - [PasswordHealthReportApplicationModel](docs/PasswordHealthReportApplicationModel.md) - [PasswordHintRequestModel](docs/PasswordHintRequestModel.md) - [PasswordManagerPlanFeaturesResponseModel](docs/PasswordManagerPlanFeaturesResponseModel.md) +- [PasswordManagerPurchaseSelections](docs/PasswordManagerPurchaseSelections.md) +- [PasswordManagerUpdateSelections](docs/PasswordManagerUpdateSelections.md) - [PasswordRequestModel](docs/PasswordRequestModel.md) - [PaymentMethodType](docs/PaymentMethodType.md) - [PaymentRequestModel](docs/PaymentRequestModel.md) @@ -779,6 +790,7 @@ All URIs are relative to *https://api.bitwarden.com* - [PendingOrganizationAuthRequestResponseModelListResponseModel](docs/PendingOrganizationAuthRequestResponseModelListResponseModel.md) - [PeopleAccessPoliciesRequestModel](docs/PeopleAccessPoliciesRequestModel.md) - [Permissions](docs/Permissions.md) +- [PlanCadenceType](docs/PlanCadenceType.md) - [PlanResponseModel](docs/PlanResponseModel.md) - [PlanResponseModelListResponseModel](docs/PlanResponseModelListResponseModel.md) - [PlanSponsorshipType](docs/PlanSponsorshipType.md) @@ -794,10 +806,12 @@ All URIs are relative to *https://api.bitwarden.com* - [PremiumCloudHostedSubscriptionRequest](docs/PremiumCloudHostedSubscriptionRequest.md) - [PreviewIndividualInvoiceRequestBody](docs/PreviewIndividualInvoiceRequestBody.md) - [PreviewOrganizationInvoiceRequestBody](docs/PreviewOrganizationInvoiceRequestBody.md) -- [PreviewTaxAmountForOrganizationTrialRequestBody](docs/PreviewTaxAmountForOrganizationTrialRequestBody.md) +- [PreviewOrganizationSubscriptionPlanChangeTaxRequest](docs/PreviewOrganizationSubscriptionPlanChangeTaxRequest.md) +- [PreviewOrganizationSubscriptionPurchaseTaxRequest](docs/PreviewOrganizationSubscriptionPurchaseTaxRequest.md) +- [PreviewOrganizationSubscriptionUpdateTaxRequest](docs/PreviewOrganizationSubscriptionUpdateTaxRequest.md) +- [PreviewPremiumSubscriptionPurchaseTaxRequest](docs/PreviewPremiumSubscriptionPurchaseTaxRequest.md) - [Priority](docs/Priority.md) - [ProductTierType](docs/ProductTierType.md) -- [ProductType](docs/ProductType.md) - [ProfileOrganizationResponseModel](docs/ProfileOrganizationResponseModel.md) - [ProfileOrganizationResponseModelListResponseModel](docs/ProfileOrganizationResponseModelListResponseModel.md) - [ProfileProviderOrganizationResponseModel](docs/ProfileProviderOrganizationResponseModel.md) @@ -852,6 +866,7 @@ All URIs are relative to *https://api.bitwarden.com* - [RequestSmAccessRequestModel](docs/RequestSmAccessRequestModel.md) - [ResetPasswordWithOrgIdRequestModel](docs/ResetPasswordWithOrgIdRequestModel.md) - [ResponseData](docs/ResponseData.md) +- [RestartSubscriptionRequest](docs/RestartSubscriptionRequest.md) - [RevokeAccessTokensRequest](docs/RevokeAccessTokensRequest.md) - [RotateUserAccountKeysAndDataRequestModel](docs/RotateUserAccountKeysAndDataRequestModel.md) - [Saml2BindingType](docs/Saml2BindingType.md) @@ -868,9 +883,11 @@ All URIs are relative to *https://api.bitwarden.com* - [SecretWithProjectsInnerProject](docs/SecretWithProjectsInnerProject.md) - [SecretWithProjectsListResponseModel](docs/SecretWithProjectsListResponseModel.md) - [SecretsManagerPlanFeaturesResponseModel](docs/SecretsManagerPlanFeaturesResponseModel.md) +- [SecretsManagerPurchaseSelections](docs/SecretsManagerPurchaseSelections.md) - [SecretsManagerRequestModel](docs/SecretsManagerRequestModel.md) - [SecretsManagerSubscribeRequestModel](docs/SecretsManagerSubscribeRequestModel.md) - [SecretsManagerSubscriptionUpdateRequestModel](docs/SecretsManagerSubscriptionUpdateRequestModel.md) +- [SecretsManagerUpdateSelections](docs/SecretsManagerUpdateSelections.md) - [SecretsSyncResponseModel](docs/SecretsSyncResponseModel.md) - [SecretsWithProjectsInnerSecret](docs/SecretsWithProjectsInnerSecret.md) - [SecureNoteType](docs/SecureNoteType.md) @@ -921,7 +938,6 @@ All URIs are relative to *https://api.bitwarden.com* - [TaxIdRequest](docs/TaxIdRequest.md) - [TaxInfoResponseModel](docs/TaxInfoResponseModel.md) - [TaxInfoUpdateRequestModel](docs/TaxInfoUpdateRequestModel.md) -- [TaxInformationDto](docs/TaxInformationDto.md) - [TaxInformationRequestBody](docs/TaxInformationRequestBody.md) - [TaxInformationRequestModel](docs/TaxInformationRequestModel.md) - [TokenizedPaymentMethodRequest](docs/TokenizedPaymentMethodRequest.md) diff --git a/crates/bitwarden-api-api/src/apis/accounts_api.rs b/crates/bitwarden-api-api/src/apis/accounts_api.rs index 54d9ba8d8..623f8bb6b 100644 --- a/crates/bitwarden-api-api/src/apis/accounts_api.rs +++ b/crates/bitwarden-api-api/src/apis/accounts_api.rs @@ -107,7 +107,7 @@ pub trait AccountsApi: Send + Sync { /// POST /accounts/kdf async fn post_kdf<'a>( &self, - kdf_request_model: Option, + password_request_model: Option, ) -> Result<(), Error>; /// POST /accounts/keys @@ -1023,7 +1023,7 @@ impl AccountsApi for AccountsApiClient { async fn post_kdf<'a>( &self, - kdf_request_model: Option, + password_request_model: Option, ) -> Result<(), Error> { let local_var_configuration = &self.configuration; @@ -1040,7 +1040,7 @@ impl AccountsApi for AccountsApiClient { if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; - local_var_req_builder = local_var_req_builder.json(&kdf_request_model); + local_var_req_builder = local_var_req_builder.json(&password_request_model); let local_var_req = local_var_req_builder.build()?; let local_var_resp = local_var_client.execute(local_var_req).await?; diff --git a/crates/bitwarden-api-api/src/apis/ciphers_api.rs b/crates/bitwarden-api-api/src/apis/ciphers_api.rs index 469f242bd..5e90968cb 100644 --- a/crates/bitwarden-api-api/src/apis/ciphers_api.rs +++ b/crates/bitwarden-api-api/src/apis/ciphers_api.rs @@ -109,6 +109,7 @@ pub trait CiphersApi: Send + Sync { async fn get_organization_ciphers<'a>( &self, organization_id: Option, + include_member_items: Option, ) -> Result< models::CipherMiniDetailsResponseModelListResponseModel, Error, @@ -1096,6 +1097,7 @@ impl CiphersApi for CiphersApiClient { async fn get_organization_ciphers<'a>( &self, organization_id: Option, + include_member_items: Option, ) -> Result< models::CipherMiniDetailsResponseModelListResponseModel, Error, @@ -1115,6 +1117,10 @@ impl CiphersApi for CiphersApiClient { local_var_req_builder = local_var_req_builder.query(&[("organizationId", ¶m_value.to_string())]); } + if let Some(ref param_value) = include_member_items { + local_var_req_builder = + local_var_req_builder.query(&[("includeMemberItems", ¶m_value.to_string())]); + } if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { local_var_req_builder = local_var_req_builder .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); diff --git a/crates/bitwarden-api-api/src/apis/events_api.rs b/crates/bitwarden-api-api/src/apis/events_api.rs index ee1b252ec..340427e1b 100644 --- a/crates/bitwarden-api-api/src/apis/events_api.rs +++ b/crates/bitwarden-api-api/src/apis/events_api.rs @@ -93,6 +93,16 @@ pub trait EventsApi: Send + Sync { continuation_token: Option<&'a str>, ) -> Result>; + /// GET /organization/{orgId}/service-account/{id}/events + async fn get_service_accounts<'a>( + &self, + org_id: uuid::Uuid, + id: uuid::Uuid, + start: Option, + end: Option, + continuation_token: Option<&'a str>, + ) -> Result>; + /// GET /events async fn get_user<'a>( &self, @@ -662,6 +672,85 @@ impl EventsApi for EventsApiClient { } } + async fn get_service_accounts<'a>( + &self, + org_id: uuid::Uuid, + id: uuid::Uuid, + start: Option, + end: Option, + continuation_token: Option<&'a str>, + ) -> Result> { + let local_var_configuration = &self.configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/organization/{orgId}/service-account/{id}/events", + local_var_configuration.base_path, + orgId = org_id, + id = id + ); + let mut local_var_req_builder = + local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); + + if let Some(ref param_value) = start { + local_var_req_builder = + local_var_req_builder.query(&[("start", ¶m_value.to_string())]); + } + if let Some(ref param_value) = end { + local_var_req_builder = + local_var_req_builder.query(&[("end", ¶m_value.to_string())]); + } + if let Some(ref param_value) = continuation_token { + local_var_req_builder = + local_var_req_builder.query(&[("continuationToken", ¶m_value.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder + .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content_type = local_var_resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let local_var_content_type = super::ContentType::from(local_var_content_type); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + match local_var_content_type { + ContentType::Json => serde_json::from_str(&local_var_content).map_err(Error::from), + ContentType::Text => { + return Err(Error::from(serde_json::Error::custom( + "Received `text/plain` content type response that cannot be converted to `models::EventResponseModelListResponseModel`", + ))); + } + ContentType::Unsupported(local_var_unknown_type) => { + return Err(Error::from(serde_json::Error::custom(format!( + "Received `{local_var_unknown_type}` content type response that cannot be converted to `models::EventResponseModelListResponseModel`" + )))); + } + } + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } + } + async fn get_user<'a>( &self, start: Option, @@ -777,6 +866,12 @@ pub enum GetProviderUserError { pub enum GetSecretsError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`EventsApi::get_service_accounts`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetServiceAccountsError { + UnknownValue(serde_json::Value), +} /// struct for typed errors of method [`EventsApi::get_user`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] diff --git a/crates/bitwarden-api-api/src/apis/organization_billing_api.rs b/crates/bitwarden-api-api/src/apis/organization_billing_api.rs index 30586b64c..28464bf0f 100644 --- a/crates/bitwarden-api-api/src/apis/organization_billing_api.rs +++ b/crates/bitwarden-api-api/src/apis/organization_billing_api.rs @@ -78,13 +78,6 @@ pub trait OrganizationBillingApi: Send + Sync { start_after: Option, ) -> Result<(), Error>; - /// POST /organizations/{organizationId}/billing/restart-subscription - async fn restart_subscription<'a>( - &self, - organization_id: uuid::Uuid, - organization_create_request_model: Option, - ) -> Result<(), Error>; - /// POST /organizations/{organizationId}/billing/setup-business-unit async fn setup_business_unit<'a>( &self, @@ -496,52 +489,6 @@ impl OrganizationBillingApi for OrganizationBillingApiClient { } } - async fn restart_subscription<'a>( - &self, - organization_id: uuid::Uuid, - organization_create_request_model: Option, - ) -> Result<(), Error> { - let local_var_configuration = &self.configuration; - - let local_var_client = &local_var_configuration.client; - - let local_var_uri_str = format!( - "{}/organizations/{organizationId}/billing/restart-subscription", - local_var_configuration.base_path, - organizationId = organization_id - ); - let mut local_var_req_builder = - local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); - - if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { - local_var_req_builder = local_var_req_builder - .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); - } - if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { - local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); - }; - local_var_req_builder = local_var_req_builder.json(&organization_create_request_model); - - let local_var_req = local_var_req_builder.build()?; - let local_var_resp = local_var_client.execute(local_var_req).await?; - - let local_var_status = local_var_resp.status(); - let local_var_content = local_var_resp.text().await?; - - if !local_var_status.is_client_error() && !local_var_status.is_server_error() { - Ok(()) - } else { - let local_var_entity: Option = - serde_json::from_str(&local_var_content).ok(); - let local_var_error = ResponseContent { - status: local_var_status, - content: local_var_content, - entity: local_var_entity, - }; - Err(Error::ResponseError(local_var_error)) - } - } - async fn setup_business_unit<'a>( &self, organization_id: uuid::Uuid, @@ -775,12 +722,6 @@ pub enum GetTaxInformationError { pub enum GetTransactionsError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`OrganizationBillingApi::restart_subscription`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum RestartSubscriptionError { - UnknownValue(serde_json::Value), -} /// struct for typed errors of method [`OrganizationBillingApi::setup_business_unit`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] diff --git a/crates/bitwarden-api-api/src/apis/organization_billing_v_next_api.rs b/crates/bitwarden-api-api/src/apis/organization_billing_v_next_api.rs index 413a6552f..172137c17 100644 --- a/crates/bitwarden-api-api/src/apis/organization_billing_v_next_api.rs +++ b/crates/bitwarden-api-api/src/apis/organization_billing_v_next_api.rs @@ -352,6 +352,72 @@ pub trait OrganizationBillingVNextApi: Send + Sync { sync_seats: Option, ) -> Result<(), Error>; + /// POST /organizations/{organizationId}/billing/vnext/subscription/restart + async fn restart_subscription<'a>( + &self, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + restart_subscription_request: Option, + ) -> Result<(), Error>; + /// PUT /organizations/{organizationId}/billing/vnext/address async fn update_billing_address<'a>( &self, @@ -2205,6 +2271,349 @@ impl OrganizationBillingVNextApi for OrganizationBillingVNextApiClient { } } + async fn restart_subscription<'a>( + &self, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + restart_subscription_request: Option, + ) -> Result<(), Error> { + let local_var_configuration = &self.configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/organizations/{organizationId}/billing/vnext/subscription/restart", + local_var_configuration.base_path, + organizationId = crate::apis::urlencode(organization_id) + ); + let mut local_var_req_builder = + local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref param_value) = id { + local_var_req_builder = + local_var_req_builder.query(&[("id", ¶m_value.to_string())]); + } + if let Some(ref param_value) = identifier { + local_var_req_builder = + local_var_req_builder.query(&[("identifier", ¶m_value.to_string())]); + } + if let Some(ref param_value) = name { + local_var_req_builder = + local_var_req_builder.query(&[("name", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_name { + local_var_req_builder = + local_var_req_builder.query(&[("businessName", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address1 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress1", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address2 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress2", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address3 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress3", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_country { + local_var_req_builder = + local_var_req_builder.query(&[("businessCountry", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_tax_number { + local_var_req_builder = + local_var_req_builder.query(&[("businessTaxNumber", ¶m_value.to_string())]); + } + if let Some(ref param_value) = billing_email { + local_var_req_builder = + local_var_req_builder.query(&[("billingEmail", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan { + local_var_req_builder = + local_var_req_builder.query(&[("plan", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan_type { + local_var_req_builder = + local_var_req_builder.query(&[("planType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = seats { + local_var_req_builder = + local_var_req_builder.query(&[("seats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_collections { + local_var_req_builder = + local_var_req_builder.query(&[("maxCollections", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_policies { + local_var_req_builder = + local_var_req_builder.query(&[("usePolicies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_sso { + local_var_req_builder = + local_var_req_builder.query(&[("useSso", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_key_connector { + local_var_req_builder = + local_var_req_builder.query(&[("useKeyConnector", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_scim { + local_var_req_builder = + local_var_req_builder.query(&[("useScim", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_groups { + local_var_req_builder = + local_var_req_builder.query(&[("useGroups", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_directory { + local_var_req_builder = + local_var_req_builder.query(&[("useDirectory", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_events { + local_var_req_builder = + local_var_req_builder.query(&[("useEvents", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_totp { + local_var_req_builder = + local_var_req_builder.query(&[("useTotp", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use2fa { + local_var_req_builder = + local_var_req_builder.query(&[("use2fa", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_api { + local_var_req_builder = + local_var_req_builder.query(&[("useApi", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_reset_password { + local_var_req_builder = + local_var_req_builder.query(&[("useResetPassword", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_secrets_manager { + local_var_req_builder = + local_var_req_builder.query(&[("useSecretsManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = self_host { + local_var_req_builder = + local_var_req_builder.query(&[("selfHost", ¶m_value.to_string())]); + } + if let Some(ref param_value) = users_get_premium { + local_var_req_builder = + local_var_req_builder.query(&[("usersGetPremium", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_custom_permissions { + local_var_req_builder = + local_var_req_builder.query(&[("useCustomPermissions", ¶m_value.to_string())]); + } + if let Some(ref param_value) = storage { + local_var_req_builder = + local_var_req_builder.query(&[("storage", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_storage_gb { + local_var_req_builder = + local_var_req_builder.query(&[("maxStorageGb", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway { + local_var_req_builder = + local_var_req_builder.query(&[("gateway", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_customer_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewayCustomerId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_subscription_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewaySubscriptionId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = reference_data { + local_var_req_builder = + local_var_req_builder.query(&[("referenceData", ¶m_value.to_string())]); + } + if let Some(ref param_value) = enabled { + local_var_req_builder = + local_var_req_builder.query(&[("enabled", ¶m_value.to_string())]); + } + if let Some(ref param_value) = license_key { + local_var_req_builder = + local_var_req_builder.query(&[("licenseKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = public_key { + local_var_req_builder = + local_var_req_builder.query(&[("publicKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = private_key { + local_var_req_builder = + local_var_req_builder.query(&[("privateKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = two_factor_providers { + local_var_req_builder = + local_var_req_builder.query(&[("twoFactorProviders", ¶m_value.to_string())]); + } + if let Some(ref param_value) = expiration_date { + local_var_req_builder = + local_var_req_builder.query(&[("expirationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = creation_date { + local_var_req_builder = + local_var_req_builder.query(&[("creationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = revision_date { + local_var_req_builder = + local_var_req_builder.query(&[("revisionDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = owners_notified_of_autoscaling { + local_var_req_builder = local_var_req_builder + .query(&[("ownersNotifiedOfAutoscaling", ¶m_value.to_string())]); + } + if let Some(ref param_value) = status { + local_var_req_builder = + local_var_req_builder.query(&[("status", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_password_manager { + local_var_req_builder = + local_var_req_builder.query(&[("usePasswordManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("smSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_service_accounts { + local_var_req_builder = + local_var_req_builder.query(&[("smServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSmSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_service_accounts { + local_var_req_builder = local_var_req_builder + .query(&[("maxAutoscaleSmServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_creation { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionCreation", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_deletion { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = allow_admin_access_to_all_collection_items { + local_var_req_builder = local_var_req_builder.query(&[( + "allowAdminAccessToAllCollectionItems", + ¶m_value.to_string(), + )]); + } + if let Some(ref param_value) = limit_item_deletion { + local_var_req_builder = + local_var_req_builder.query(&[("limitItemDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_risk_insights { + local_var_req_builder = + local_var_req_builder.query(&[("useRiskInsights", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_organization_domains { + local_var_req_builder = local_var_req_builder + .query(&[("useOrganizationDomains", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_admin_sponsored_families { + local_var_req_builder = local_var_req_builder + .query(&[("useAdminSponsoredFamilies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sync_seats { + local_var_req_builder = + local_var_req_builder.query(&[("syncSeats", ¶m_value.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder + .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = local_var_req_builder.json(&restart_subscription_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } + } + async fn update_billing_address<'a>( &self, organization_id: &'a str, @@ -2922,6 +3331,12 @@ pub enum GetPaymentMethodError { pub enum GetWarningsError { UnknownValue(serde_json::Value), } +/// struct for typed errors of method [`OrganizationBillingVNextApi::restart_subscription`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RestartSubscriptionError { + UnknownValue(serde_json::Value), +} /// struct for typed errors of method [`OrganizationBillingVNextApi::update_billing_address`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] diff --git a/crates/bitwarden-api-api/src/apis/organizations_api.rs b/crates/bitwarden-api-api/src/apis/organizations_api.rs index 0ed2e165a..4ba86c00e 100644 --- a/crates/bitwarden-api-api/src/apis/organizations_api.rs +++ b/crates/bitwarden-api-api/src/apis/organizations_api.rs @@ -199,13 +199,6 @@ pub trait OrganizationsApi: Send + Sync { organization_upgrade_request_model: Option, ) -> Result>; - /// POST /organizations/{id}/verify-bank - async fn post_verify_bank<'a>( - &self, - id: uuid::Uuid, - organization_verify_bank_request_model: Option, - ) -> Result<(), Error>; - /// PUT /organizations/{id} async fn put<'a>( &self, @@ -1801,52 +1794,6 @@ impl OrganizationsApi for OrganizationsApiClient { } } - async fn post_verify_bank<'a>( - &self, - id: uuid::Uuid, - organization_verify_bank_request_model: Option, - ) -> Result<(), Error> { - let local_var_configuration = &self.configuration; - - let local_var_client = &local_var_configuration.client; - - let local_var_uri_str = format!( - "{}/organizations/{id}/verify-bank", - local_var_configuration.base_path, - id = id - ); - let mut local_var_req_builder = - local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); - - if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { - local_var_req_builder = local_var_req_builder - .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); - } - if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { - local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); - }; - local_var_req_builder = local_var_req_builder.json(&organization_verify_bank_request_model); - - let local_var_req = local_var_req_builder.build()?; - let local_var_resp = local_var_client.execute(local_var_req).await?; - - let local_var_status = local_var_resp.status(); - let local_var_content = local_var_resp.text().await?; - - if !local_var_status.is_client_error() && !local_var_status.is_server_error() { - Ok(()) - } else { - let local_var_entity: Option = - serde_json::from_str(&local_var_content).ok(); - let local_var_error = ResponseContent { - status: local_var_status, - content: local_var_content, - entity: local_var_entity, - }; - Err(Error::ResponseError(local_var_error)) - } - } - async fn put<'a>( &self, id: &'a str, @@ -2244,12 +2191,6 @@ pub enum PostSubscriptionError { pub enum PostUpgradeError { UnknownValue(serde_json::Value), } -/// struct for typed errors of method [`OrganizationsApi::post_verify_bank`] -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(untagged)] -pub enum PostVerifyBankError { - UnknownValue(serde_json::Value), -} /// struct for typed errors of method [`OrganizationsApi::put`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] diff --git a/crates/bitwarden-api-api/src/apis/slack_integration_api.rs b/crates/bitwarden-api-api/src/apis/slack_integration_api.rs index 9f69b39e2..39a218212 100644 --- a/crates/bitwarden-api-api/src/apis/slack_integration_api.rs +++ b/crates/bitwarden-api-api/src/apis/slack_integration_api.rs @@ -26,11 +26,11 @@ use crate::{ #[cfg_attr(target_arch = "wasm32", async_trait(?Send))] #[cfg_attr(not(target_arch = "wasm32"), async_trait)] pub trait SlackIntegrationApi: Send + Sync { - /// GET /organizations/{organizationId}/integrations/slack/create + /// GET /organizations/integrations/slack/create async fn create<'a>( &self, - organization_id: uuid::Uuid, code: Option<&'a str>, + state: Option<&'a str>, ) -> Result<(), Error>; /// GET /organizations/{organizationId}/integrations/slack/redirect @@ -52,17 +52,16 @@ impl SlackIntegrationApiClient { impl SlackIntegrationApi for SlackIntegrationApiClient { async fn create<'a>( &self, - organization_id: uuid::Uuid, code: Option<&'a str>, + state: Option<&'a str>, ) -> Result<(), Error> { let local_var_configuration = &self.configuration; let local_var_client = &local_var_configuration.client; let local_var_uri_str = format!( - "{}/organizations/{organizationId}/integrations/slack/create", - local_var_configuration.base_path, - organizationId = organization_id + "{}/organizations/integrations/slack/create", + local_var_configuration.base_path ); let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str()); @@ -71,6 +70,10 @@ impl SlackIntegrationApi for SlackIntegrationApiClient { local_var_req_builder = local_var_req_builder.query(&[("code", ¶m_value.to_string())]); } + if let Some(ref param_value) = state { + local_var_req_builder = + local_var_req_builder.query(&[("state", ¶m_value.to_string())]); + } if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { local_var_req_builder = local_var_req_builder .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); diff --git a/crates/bitwarden-api-api/src/apis/tax_api.rs b/crates/bitwarden-api-api/src/apis/tax_api.rs index 74d1cac7b..06f606c0e 100644 --- a/crates/bitwarden-api-api/src/apis/tax_api.rs +++ b/crates/bitwarden-api-api/src/apis/tax_api.rs @@ -26,13 +26,157 @@ use crate::{ #[cfg_attr(target_arch = "wasm32", async_trait(?Send))] #[cfg_attr(not(target_arch = "wasm32"), async_trait)] pub trait TaxApi: Send + Sync { - /// POST /tax/preview-amount/organization-trial - async fn preview_tax_amount_for_organization_trial<'a>( + /// POST /billing/tax/organizations/{organizationId}/subscription/plan-change + async fn preview_organization_subscription_plan_change_tax<'a>( &self, - preview_tax_amount_for_organization_trial_request_body: Option< - models::PreviewTaxAmountForOrganizationTrialRequestBody, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + preview_organization_subscription_plan_change_tax_request: Option< + models::PreviewOrganizationSubscriptionPlanChangeTaxRequest, >, - ) -> Result<(), Error>; + ) -> Result<(), Error>; + + /// POST /billing/tax/organizations/subscriptions/purchase + async fn preview_organization_subscription_purchase_tax<'a>( + &self, + preview_organization_subscription_purchase_tax_request: Option< + models::PreviewOrganizationSubscriptionPurchaseTaxRequest, + >, + ) -> Result<(), Error>; + + /// PUT /billing/tax/organizations/{organizationId}/subscription/update + async fn preview_organization_subscription_update_tax<'a>( + &self, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + preview_organization_subscription_update_tax_request: Option< + models::PreviewOrganizationSubscriptionUpdateTaxRequest, + >, + ) -> Result<(), Error>; + + /// POST /billing/tax/premium/subscriptions/purchase + async fn preview_premium_subscription_purchase_tax<'a>( + &self, + preview_premium_subscription_purchase_tax_request: Option< + models::PreviewPremiumSubscriptionPurchaseTaxRequest, + >, + ) -> Result<(), Error>; } pub struct TaxApiClient { @@ -48,18 +192,757 @@ impl TaxApiClient { #[cfg_attr(target_arch = "wasm32", async_trait(?Send))] #[cfg_attr(not(target_arch = "wasm32"), async_trait)] impl TaxApi for TaxApiClient { - async fn preview_tax_amount_for_organization_trial<'a>( + async fn preview_organization_subscription_plan_change_tax<'a>( + &self, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + preview_organization_subscription_plan_change_tax_request: Option< + models::PreviewOrganizationSubscriptionPlanChangeTaxRequest, + >, + ) -> Result<(), Error> { + let local_var_configuration = &self.configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/billing/tax/organizations/{organizationId}/subscription/plan-change", + local_var_configuration.base_path, + organizationId = crate::apis::urlencode(organization_id) + ); + let mut local_var_req_builder = + local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref param_value) = id { + local_var_req_builder = + local_var_req_builder.query(&[("id", ¶m_value.to_string())]); + } + if let Some(ref param_value) = identifier { + local_var_req_builder = + local_var_req_builder.query(&[("identifier", ¶m_value.to_string())]); + } + if let Some(ref param_value) = name { + local_var_req_builder = + local_var_req_builder.query(&[("name", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_name { + local_var_req_builder = + local_var_req_builder.query(&[("businessName", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address1 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress1", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address2 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress2", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address3 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress3", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_country { + local_var_req_builder = + local_var_req_builder.query(&[("businessCountry", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_tax_number { + local_var_req_builder = + local_var_req_builder.query(&[("businessTaxNumber", ¶m_value.to_string())]); + } + if let Some(ref param_value) = billing_email { + local_var_req_builder = + local_var_req_builder.query(&[("billingEmail", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan { + local_var_req_builder = + local_var_req_builder.query(&[("plan", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan_type { + local_var_req_builder = + local_var_req_builder.query(&[("planType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = seats { + local_var_req_builder = + local_var_req_builder.query(&[("seats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_collections { + local_var_req_builder = + local_var_req_builder.query(&[("maxCollections", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_policies { + local_var_req_builder = + local_var_req_builder.query(&[("usePolicies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_sso { + local_var_req_builder = + local_var_req_builder.query(&[("useSso", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_key_connector { + local_var_req_builder = + local_var_req_builder.query(&[("useKeyConnector", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_scim { + local_var_req_builder = + local_var_req_builder.query(&[("useScim", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_groups { + local_var_req_builder = + local_var_req_builder.query(&[("useGroups", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_directory { + local_var_req_builder = + local_var_req_builder.query(&[("useDirectory", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_events { + local_var_req_builder = + local_var_req_builder.query(&[("useEvents", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_totp { + local_var_req_builder = + local_var_req_builder.query(&[("useTotp", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use2fa { + local_var_req_builder = + local_var_req_builder.query(&[("use2fa", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_api { + local_var_req_builder = + local_var_req_builder.query(&[("useApi", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_reset_password { + local_var_req_builder = + local_var_req_builder.query(&[("useResetPassword", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_secrets_manager { + local_var_req_builder = + local_var_req_builder.query(&[("useSecretsManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = self_host { + local_var_req_builder = + local_var_req_builder.query(&[("selfHost", ¶m_value.to_string())]); + } + if let Some(ref param_value) = users_get_premium { + local_var_req_builder = + local_var_req_builder.query(&[("usersGetPremium", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_custom_permissions { + local_var_req_builder = + local_var_req_builder.query(&[("useCustomPermissions", ¶m_value.to_string())]); + } + if let Some(ref param_value) = storage { + local_var_req_builder = + local_var_req_builder.query(&[("storage", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_storage_gb { + local_var_req_builder = + local_var_req_builder.query(&[("maxStorageGb", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway { + local_var_req_builder = + local_var_req_builder.query(&[("gateway", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_customer_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewayCustomerId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_subscription_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewaySubscriptionId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = reference_data { + local_var_req_builder = + local_var_req_builder.query(&[("referenceData", ¶m_value.to_string())]); + } + if let Some(ref param_value) = enabled { + local_var_req_builder = + local_var_req_builder.query(&[("enabled", ¶m_value.to_string())]); + } + if let Some(ref param_value) = license_key { + local_var_req_builder = + local_var_req_builder.query(&[("licenseKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = public_key { + local_var_req_builder = + local_var_req_builder.query(&[("publicKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = private_key { + local_var_req_builder = + local_var_req_builder.query(&[("privateKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = two_factor_providers { + local_var_req_builder = + local_var_req_builder.query(&[("twoFactorProviders", ¶m_value.to_string())]); + } + if let Some(ref param_value) = expiration_date { + local_var_req_builder = + local_var_req_builder.query(&[("expirationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = creation_date { + local_var_req_builder = + local_var_req_builder.query(&[("creationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = revision_date { + local_var_req_builder = + local_var_req_builder.query(&[("revisionDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = owners_notified_of_autoscaling { + local_var_req_builder = local_var_req_builder + .query(&[("ownersNotifiedOfAutoscaling", ¶m_value.to_string())]); + } + if let Some(ref param_value) = status { + local_var_req_builder = + local_var_req_builder.query(&[("status", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_password_manager { + local_var_req_builder = + local_var_req_builder.query(&[("usePasswordManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("smSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_service_accounts { + local_var_req_builder = + local_var_req_builder.query(&[("smServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSmSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_service_accounts { + local_var_req_builder = local_var_req_builder + .query(&[("maxAutoscaleSmServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_creation { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionCreation", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_deletion { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = allow_admin_access_to_all_collection_items { + local_var_req_builder = local_var_req_builder.query(&[( + "allowAdminAccessToAllCollectionItems", + ¶m_value.to_string(), + )]); + } + if let Some(ref param_value) = limit_item_deletion { + local_var_req_builder = + local_var_req_builder.query(&[("limitItemDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_risk_insights { + local_var_req_builder = + local_var_req_builder.query(&[("useRiskInsights", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_organization_domains { + local_var_req_builder = local_var_req_builder + .query(&[("useOrganizationDomains", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_admin_sponsored_families { + local_var_req_builder = local_var_req_builder + .query(&[("useAdminSponsoredFamilies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sync_seats { + local_var_req_builder = + local_var_req_builder.query(&[("syncSeats", ¶m_value.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder + .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = + local_var_req_builder.json(&preview_organization_subscription_plan_change_tax_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } + } + + async fn preview_organization_subscription_purchase_tax<'a>( + &self, + preview_organization_subscription_purchase_tax_request: Option< + models::PreviewOrganizationSubscriptionPurchaseTaxRequest, + >, + ) -> Result<(), Error> { + let local_var_configuration = &self.configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/billing/tax/organizations/subscriptions/purchase", + local_var_configuration.base_path + ); + let mut local_var_req_builder = + local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str()); + + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder + .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = + local_var_req_builder.json(&preview_organization_subscription_purchase_tax_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } + } + + async fn preview_organization_subscription_update_tax<'a>( + &self, + organization_id: &'a str, + id: Option, + identifier: Option<&'a str>, + name: Option<&'a str>, + business_name: Option<&'a str>, + business_address1: Option<&'a str>, + business_address2: Option<&'a str>, + business_address3: Option<&'a str>, + business_country: Option<&'a str>, + business_tax_number: Option<&'a str>, + billing_email: Option<&'a str>, + plan: Option<&'a str>, + plan_type: Option, + seats: Option, + max_collections: Option, + use_policies: Option, + use_sso: Option, + use_key_connector: Option, + use_scim: Option, + use_groups: Option, + use_directory: Option, + use_events: Option, + use_totp: Option, + use2fa: Option, + use_api: Option, + use_reset_password: Option, + use_secrets_manager: Option, + self_host: Option, + users_get_premium: Option, + use_custom_permissions: Option, + storage: Option, + max_storage_gb: Option, + gateway: Option, + gateway_customer_id: Option<&'a str>, + gateway_subscription_id: Option<&'a str>, + reference_data: Option<&'a str>, + enabled: Option, + license_key: Option<&'a str>, + public_key: Option<&'a str>, + private_key: Option<&'a str>, + two_factor_providers: Option<&'a str>, + expiration_date: Option, + creation_date: Option, + revision_date: Option, + max_autoscale_seats: Option, + owners_notified_of_autoscaling: Option, + status: Option, + use_password_manager: Option, + sm_seats: Option, + sm_service_accounts: Option, + max_autoscale_sm_seats: Option, + max_autoscale_sm_service_accounts: Option, + limit_collection_creation: Option, + limit_collection_deletion: Option, + allow_admin_access_to_all_collection_items: Option, + limit_item_deletion: Option, + use_risk_insights: Option, + use_organization_domains: Option, + use_admin_sponsored_families: Option, + sync_seats: Option, + preview_organization_subscription_update_tax_request: Option< + models::PreviewOrganizationSubscriptionUpdateTaxRequest, + >, + ) -> Result<(), Error> { + let local_var_configuration = &self.configuration; + + let local_var_client = &local_var_configuration.client; + + let local_var_uri_str = format!( + "{}/billing/tax/organizations/{organizationId}/subscription/update", + local_var_configuration.base_path, + organizationId = crate::apis::urlencode(organization_id) + ); + let mut local_var_req_builder = + local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str()); + + if let Some(ref param_value) = id { + local_var_req_builder = + local_var_req_builder.query(&[("id", ¶m_value.to_string())]); + } + if let Some(ref param_value) = identifier { + local_var_req_builder = + local_var_req_builder.query(&[("identifier", ¶m_value.to_string())]); + } + if let Some(ref param_value) = name { + local_var_req_builder = + local_var_req_builder.query(&[("name", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_name { + local_var_req_builder = + local_var_req_builder.query(&[("businessName", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address1 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress1", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address2 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress2", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_address3 { + local_var_req_builder = + local_var_req_builder.query(&[("businessAddress3", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_country { + local_var_req_builder = + local_var_req_builder.query(&[("businessCountry", ¶m_value.to_string())]); + } + if let Some(ref param_value) = business_tax_number { + local_var_req_builder = + local_var_req_builder.query(&[("businessTaxNumber", ¶m_value.to_string())]); + } + if let Some(ref param_value) = billing_email { + local_var_req_builder = + local_var_req_builder.query(&[("billingEmail", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan { + local_var_req_builder = + local_var_req_builder.query(&[("plan", ¶m_value.to_string())]); + } + if let Some(ref param_value) = plan_type { + local_var_req_builder = + local_var_req_builder.query(&[("planType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = seats { + local_var_req_builder = + local_var_req_builder.query(&[("seats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_collections { + local_var_req_builder = + local_var_req_builder.query(&[("maxCollections", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_policies { + local_var_req_builder = + local_var_req_builder.query(&[("usePolicies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_sso { + local_var_req_builder = + local_var_req_builder.query(&[("useSso", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_key_connector { + local_var_req_builder = + local_var_req_builder.query(&[("useKeyConnector", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_scim { + local_var_req_builder = + local_var_req_builder.query(&[("useScim", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_groups { + local_var_req_builder = + local_var_req_builder.query(&[("useGroups", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_directory { + local_var_req_builder = + local_var_req_builder.query(&[("useDirectory", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_events { + local_var_req_builder = + local_var_req_builder.query(&[("useEvents", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_totp { + local_var_req_builder = + local_var_req_builder.query(&[("useTotp", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use2fa { + local_var_req_builder = + local_var_req_builder.query(&[("use2fa", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_api { + local_var_req_builder = + local_var_req_builder.query(&[("useApi", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_reset_password { + local_var_req_builder = + local_var_req_builder.query(&[("useResetPassword", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_secrets_manager { + local_var_req_builder = + local_var_req_builder.query(&[("useSecretsManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = self_host { + local_var_req_builder = + local_var_req_builder.query(&[("selfHost", ¶m_value.to_string())]); + } + if let Some(ref param_value) = users_get_premium { + local_var_req_builder = + local_var_req_builder.query(&[("usersGetPremium", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_custom_permissions { + local_var_req_builder = + local_var_req_builder.query(&[("useCustomPermissions", ¶m_value.to_string())]); + } + if let Some(ref param_value) = storage { + local_var_req_builder = + local_var_req_builder.query(&[("storage", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_storage_gb { + local_var_req_builder = + local_var_req_builder.query(&[("maxStorageGb", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway { + local_var_req_builder = + local_var_req_builder.query(&[("gateway", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_customer_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewayCustomerId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = gateway_subscription_id { + local_var_req_builder = + local_var_req_builder.query(&[("gatewaySubscriptionId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = reference_data { + local_var_req_builder = + local_var_req_builder.query(&[("referenceData", ¶m_value.to_string())]); + } + if let Some(ref param_value) = enabled { + local_var_req_builder = + local_var_req_builder.query(&[("enabled", ¶m_value.to_string())]); + } + if let Some(ref param_value) = license_key { + local_var_req_builder = + local_var_req_builder.query(&[("licenseKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = public_key { + local_var_req_builder = + local_var_req_builder.query(&[("publicKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = private_key { + local_var_req_builder = + local_var_req_builder.query(&[("privateKey", ¶m_value.to_string())]); + } + if let Some(ref param_value) = two_factor_providers { + local_var_req_builder = + local_var_req_builder.query(&[("twoFactorProviders", ¶m_value.to_string())]); + } + if let Some(ref param_value) = expiration_date { + local_var_req_builder = + local_var_req_builder.query(&[("expirationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = creation_date { + local_var_req_builder = + local_var_req_builder.query(&[("creationDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = revision_date { + local_var_req_builder = + local_var_req_builder.query(&[("revisionDate", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = owners_notified_of_autoscaling { + local_var_req_builder = local_var_req_builder + .query(&[("ownersNotifiedOfAutoscaling", ¶m_value.to_string())]); + } + if let Some(ref param_value) = status { + local_var_req_builder = + local_var_req_builder.query(&[("status", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_password_manager { + local_var_req_builder = + local_var_req_builder.query(&[("usePasswordManager", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("smSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sm_service_accounts { + local_var_req_builder = + local_var_req_builder.query(&[("smServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_seats { + local_var_req_builder = + local_var_req_builder.query(&[("maxAutoscaleSmSeats", ¶m_value.to_string())]); + } + if let Some(ref param_value) = max_autoscale_sm_service_accounts { + local_var_req_builder = local_var_req_builder + .query(&[("maxAutoscaleSmServiceAccounts", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_creation { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionCreation", ¶m_value.to_string())]); + } + if let Some(ref param_value) = limit_collection_deletion { + local_var_req_builder = local_var_req_builder + .query(&[("limitCollectionDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = allow_admin_access_to_all_collection_items { + local_var_req_builder = local_var_req_builder.query(&[( + "allowAdminAccessToAllCollectionItems", + ¶m_value.to_string(), + )]); + } + if let Some(ref param_value) = limit_item_deletion { + local_var_req_builder = + local_var_req_builder.query(&[("limitItemDeletion", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_risk_insights { + local_var_req_builder = + local_var_req_builder.query(&[("useRiskInsights", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_organization_domains { + local_var_req_builder = local_var_req_builder + .query(&[("useOrganizationDomains", ¶m_value.to_string())]); + } + if let Some(ref param_value) = use_admin_sponsored_families { + local_var_req_builder = local_var_req_builder + .query(&[("useAdminSponsoredFamilies", ¶m_value.to_string())]); + } + if let Some(ref param_value) = sync_seats { + local_var_req_builder = + local_var_req_builder.query(&[("syncSeats", ¶m_value.to_string())]); + } + if let Some(ref local_var_user_agent) = local_var_configuration.user_agent { + local_var_req_builder = local_var_req_builder + .header(reqwest::header::USER_AGENT, local_var_user_agent.clone()); + } + if let Some(ref local_var_token) = local_var_configuration.oauth_access_token { + local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); + }; + local_var_req_builder = + local_var_req_builder.json(&preview_organization_subscription_update_tax_request); + + let local_var_req = local_var_req_builder.build()?; + let local_var_resp = local_var_client.execute(local_var_req).await?; + + let local_var_status = local_var_resp.status(); + let local_var_content = local_var_resp.text().await?; + + if !local_var_status.is_client_error() && !local_var_status.is_server_error() { + Ok(()) + } else { + let local_var_entity: Option = + serde_json::from_str(&local_var_content).ok(); + let local_var_error = ResponseContent { + status: local_var_status, + content: local_var_content, + entity: local_var_entity, + }; + Err(Error::ResponseError(local_var_error)) + } + } + + async fn preview_premium_subscription_purchase_tax<'a>( &self, - preview_tax_amount_for_organization_trial_request_body: Option< - models::PreviewTaxAmountForOrganizationTrialRequestBody, + preview_premium_subscription_purchase_tax_request: Option< + models::PreviewPremiumSubscriptionPurchaseTaxRequest, >, - ) -> Result<(), Error> { + ) -> Result<(), Error> { let local_var_configuration = &self.configuration; let local_var_client = &local_var_configuration.client; let local_var_uri_str = format!( - "{}/tax/preview-amount/organization-trial", + "{}/billing/tax/premium/subscriptions/purchase", local_var_configuration.base_path ); let mut local_var_req_builder = @@ -73,7 +956,7 @@ impl TaxApi for TaxApiClient { local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned()); }; local_var_req_builder = - local_var_req_builder.json(&preview_tax_amount_for_organization_trial_request_body); + local_var_req_builder.json(&preview_premium_subscription_purchase_tax_request); let local_var_req = local_var_req_builder.build()?; let local_var_resp = local_var_client.execute(local_var_req).await?; @@ -84,7 +967,7 @@ impl TaxApi for TaxApiClient { if !local_var_status.is_client_error() && !local_var_status.is_server_error() { Ok(()) } else { - let local_var_entity: Option = + let local_var_entity: Option = serde_json::from_str(&local_var_content).ok(); let local_var_error = ResponseContent { status: local_var_status, @@ -96,9 +979,27 @@ impl TaxApi for TaxApiClient { } } -/// struct for typed errors of method [`TaxApi::preview_tax_amount_for_organization_trial`] +/// struct for typed errors of method [`TaxApi::preview_organization_subscription_plan_change_tax`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PreviewOrganizationSubscriptionPlanChangeTaxError { + UnknownValue(serde_json::Value), +} +/// struct for typed errors of method [`TaxApi::preview_organization_subscription_purchase_tax`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PreviewOrganizationSubscriptionPurchaseTaxError { + UnknownValue(serde_json::Value), +} +/// struct for typed errors of method [`TaxApi::preview_organization_subscription_update_tax`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PreviewOrganizationSubscriptionUpdateTaxError { + UnknownValue(serde_json::Value), +} +/// struct for typed errors of method [`TaxApi::preview_premium_subscription_purchase_tax`] #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] -pub enum PreviewTaxAmountForOrganizationTrialError { +pub enum PreviewPremiumSubscriptionPurchaseTaxError { UnknownValue(serde_json::Value), } diff --git a/crates/bitwarden-api-api/src/models/tax_information_dto.rs b/crates/bitwarden-api-api/src/models/checkout_billing_address_request.rs similarity index 71% rename from crates/bitwarden-api-api/src/models/tax_information_dto.rs rename to crates/bitwarden-api-api/src/models/checkout_billing_address_request.rs index c55ab888e..aae0cbd8c 100644 --- a/crates/bitwarden-api-api/src/models/tax_information_dto.rs +++ b/crates/bitwarden-api-api/src/models/checkout_billing_address_request.rs @@ -13,18 +13,18 @@ use serde::{Deserialize, Serialize}; use crate::models; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct TaxInformationDto { +pub struct CheckoutBillingAddressRequest { #[serde(rename = "country")] pub country: String, #[serde(rename = "postalCode")] pub postal_code: String, #[serde(rename = "taxId", skip_serializing_if = "Option::is_none")] - pub tax_id: Option, + pub tax_id: Option>, } -impl TaxInformationDto { - pub fn new(country: String, postal_code: String) -> TaxInformationDto { - TaxInformationDto { +impl CheckoutBillingAddressRequest { + pub fn new(country: String, postal_code: String) -> CheckoutBillingAddressRequest { + CheckoutBillingAddressRequest { country, postal_code, tax_id: None, diff --git a/crates/bitwarden-api-api/src/models/event_response_model.rs b/crates/bitwarden-api-api/src/models/event_response_model.rs index a8f1e7903..9ee03bb58 100644 --- a/crates/bitwarden-api-api/src/models/event_response_model.rs +++ b/crates/bitwarden-api-api/src/models/event_response_model.rs @@ -61,6 +61,11 @@ pub struct EventResponseModel { pub project_id: Option, #[serde(rename = "serviceAccountId", skip_serializing_if = "Option::is_none")] pub service_account_id: Option, + #[serde( + rename = "grantedServiceAccountId", + skip_serializing_if = "Option::is_none" + )] + pub granted_service_account_id: Option, } impl EventResponseModel { @@ -88,6 +93,7 @@ impl EventResponseModel { secret_id: None, project_id: None, service_account_id: None, + granted_service_account_id: None, } } } diff --git a/crates/bitwarden-api-api/src/models/event_type.rs b/crates/bitwarden-api-api/src/models/event_type.rs index c3cc0df66..603294c02 100644 --- a/crates/bitwarden-api-api/src/models/event_type.rs +++ b/crates/bitwarden-api-api/src/models/event_type.rs @@ -112,6 +112,12 @@ pub enum EventType { Project_Created = 2201, Project_Edited = 2202, Project_Deleted = 2203, + ServiceAccount_UserAdded = 2300, + ServiceAccount_UserRemoved = 2301, + ServiceAccount_GroupAdded = 2302, + ServiceAccount_GroupRemoved = 2303, + ServiceAccount_Created = 2304, + ServiceAccount_Deleted = 2305, } impl std::fmt::Display for EventType { @@ -211,6 +217,12 @@ impl std::fmt::Display for EventType { Self::Project_Created => "2201", Self::Project_Edited => "2202", Self::Project_Deleted => "2203", + Self::ServiceAccount_UserAdded => "2300", + Self::ServiceAccount_UserRemoved => "2301", + Self::ServiceAccount_GroupAdded => "2302", + Self::ServiceAccount_GroupRemoved => "2303", + Self::ServiceAccount_Created => "2304", + Self::ServiceAccount_Deleted => "2305", }) } } diff --git a/crates/bitwarden-api-api/src/models/kdf_request_model.rs b/crates/bitwarden-api-api/src/models/kdf_request_model.rs index 948a3e89e..5b070b806 100644 --- a/crates/bitwarden-api-api/src/models/kdf_request_model.rs +++ b/crates/bitwarden-api-api/src/models/kdf_request_model.rs @@ -14,52 +14,23 @@ use crate::models; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct KdfRequestModel { - #[serde(rename = "masterPasswordHash", skip_serializing_if = "Option::is_none")] - pub master_password_hash: Option, - #[serde(rename = "otp", skip_serializing_if = "Option::is_none")] - pub otp: Option, - #[serde( - rename = "authRequestAccessCode", - skip_serializing_if = "Option::is_none" - )] - pub auth_request_access_code: Option, - #[serde(rename = "secret", skip_serializing_if = "Option::is_none")] - pub secret: Option, - #[serde(rename = "newMasterPasswordHash")] - pub new_master_password_hash: String, - #[serde(rename = "masterPasswordHint", skip_serializing_if = "Option::is_none")] - pub master_password_hint: Option, - #[serde(rename = "key")] - pub key: String, - #[serde(rename = "kdf")] - pub kdf: models::KdfType, - #[serde(rename = "kdfIterations")] - pub kdf_iterations: i32, - #[serde(rename = "kdfMemory", skip_serializing_if = "Option::is_none")] - pub kdf_memory: Option, - #[serde(rename = "kdfParallelism", skip_serializing_if = "Option::is_none")] - pub kdf_parallelism: Option, + #[serde(rename = "kdfType")] + pub kdf_type: models::KdfType, + #[serde(rename = "iterations")] + pub iterations: i32, + #[serde(rename = "memory", skip_serializing_if = "Option::is_none")] + pub memory: Option, + #[serde(rename = "parallelism", skip_serializing_if = "Option::is_none")] + pub parallelism: Option, } impl KdfRequestModel { - pub fn new( - new_master_password_hash: String, - key: String, - kdf: models::KdfType, - kdf_iterations: i32, - ) -> KdfRequestModel { + pub fn new(kdf_type: models::KdfType, iterations: i32) -> KdfRequestModel { KdfRequestModel { - master_password_hash: None, - otp: None, - auth_request_access_code: None, - secret: None, - new_master_password_hash, - master_password_hint: None, - key, - kdf, - kdf_iterations, - kdf_memory: None, - kdf_parallelism: None, + kdf_type, + iterations, + memory: None, + parallelism: None, } } } diff --git a/crates/bitwarden-api-api/src/models/master_password_authentication_data_request_model.rs b/crates/bitwarden-api-api/src/models/master_password_authentication_data_request_model.rs new file mode 100644 index 000000000..3b860667b --- /dev/null +++ b/crates/bitwarden-api-api/src/models/master_password_authentication_data_request_model.rs @@ -0,0 +1,37 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MasterPasswordAuthenticationDataRequestModel { + #[serde(rename = "kdf")] + pub kdf: Box, + #[serde(rename = "masterPasswordAuthenticationHash")] + pub master_password_authentication_hash: Option, + #[serde(rename = "salt")] + pub salt: Option, +} + +impl MasterPasswordAuthenticationDataRequestModel { + pub fn new( + kdf: models::KdfRequestModel, + master_password_authentication_hash: Option, + salt: Option, + ) -> MasterPasswordAuthenticationDataRequestModel { + MasterPasswordAuthenticationDataRequestModel { + kdf: Box::new(kdf), + master_password_authentication_hash, + salt, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/master_password_unlock_data_model.rs b/crates/bitwarden-api-api/src/models/master_password_unlock_and_authentication_data_model.rs similarity index 87% rename from crates/bitwarden-api-api/src/models/master_password_unlock_data_model.rs rename to crates/bitwarden-api-api/src/models/master_password_unlock_and_authentication_data_model.rs index 073b833fd..41acaab53 100644 --- a/crates/bitwarden-api-api/src/models/master_password_unlock_data_model.rs +++ b/crates/bitwarden-api-api/src/models/master_password_unlock_and_authentication_data_model.rs @@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize}; use crate::models; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct MasterPasswordUnlockDataModel { +pub struct MasterPasswordUnlockAndAuthenticationDataModel { #[serde(rename = "kdfType")] pub kdf_type: models::KdfType, #[serde(rename = "kdfIterations")] @@ -32,15 +32,15 @@ pub struct MasterPasswordUnlockDataModel { pub master_password_hint: Option, } -impl MasterPasswordUnlockDataModel { +impl MasterPasswordUnlockAndAuthenticationDataModel { pub fn new( kdf_type: models::KdfType, kdf_iterations: i32, email: Option, master_key_authentication_hash: Option, master_key_encrypted_user_key: Option, - ) -> MasterPasswordUnlockDataModel { - MasterPasswordUnlockDataModel { + ) -> MasterPasswordUnlockAndAuthenticationDataModel { + MasterPasswordUnlockAndAuthenticationDataModel { kdf_type, kdf_iterations, kdf_memory: None, diff --git a/crates/bitwarden-api-api/src/models/master_password_unlock_data_request_model.rs b/crates/bitwarden-api-api/src/models/master_password_unlock_data_request_model.rs new file mode 100644 index 000000000..702d13434 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/master_password_unlock_data_request_model.rs @@ -0,0 +1,37 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MasterPasswordUnlockDataRequestModel { + #[serde(rename = "kdf")] + pub kdf: Box, + #[serde(rename = "masterKeyWrappedUserKey")] + pub master_key_wrapped_user_key: Option, + #[serde(rename = "salt")] + pub salt: Option, +} + +impl MasterPasswordUnlockDataRequestModel { + pub fn new( + kdf: models::KdfRequestModel, + master_key_wrapped_user_key: Option, + salt: Option, + ) -> MasterPasswordUnlockDataRequestModel { + MasterPasswordUnlockDataRequestModel { + kdf: Box::new(kdf), + master_key_wrapped_user_key, + salt, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/mod.rs b/crates/bitwarden-api-api/src/models/mod.rs index f2f4f527a..5c429e616 100644 --- a/crates/bitwarden-api-api/src/models/mod.rs +++ b/crates/bitwarden-api-api/src/models/mod.rs @@ -98,6 +98,8 @@ pub mod bulk_deny_admin_auth_request_request_model; pub use self::bulk_deny_admin_auth_request_request_model::BulkDenyAdminAuthRequestRequestModel; pub mod change_plan_frequency_request; pub use self::change_plan_frequency_request::ChangePlanFrequencyRequest; +pub mod checkout_billing_address_request; +pub use self::checkout_billing_address_request::CheckoutBillingAddressRequest; pub mod cipher; pub use self::cipher::Cipher; pub mod cipher_attachment_model; @@ -344,10 +346,14 @@ pub mod keys_response_model; pub use self::keys_response_model::KeysResponseModel; pub mod license_type; pub use self::license_type::LicenseType; +pub mod master_password_authentication_data_request_model; +pub use self::master_password_authentication_data_request_model::MasterPasswordAuthenticationDataRequestModel; pub mod master_password_policy_response_model; pub use self::master_password_policy_response_model::MasterPasswordPolicyResponseModel; -pub mod master_password_unlock_data_model; -pub use self::master_password_unlock_data_model::MasterPasswordUnlockDataModel; +pub mod master_password_unlock_and_authentication_data_model; +pub use self::master_password_unlock_and_authentication_data_model::MasterPasswordUnlockAndAuthenticationDataModel; +pub mod master_password_unlock_data_request_model; +pub use self::master_password_unlock_data_request_model::MasterPasswordUnlockDataRequestModel; pub mod master_password_unlock_kdf_response_model; pub use self::master_password_unlock_kdf_response_model::MasterPasswordUnlockKdfResponseModel; pub mod master_password_unlock_response_model; @@ -412,6 +418,8 @@ pub mod organization_integration_request_model; pub use self::organization_integration_request_model::OrganizationIntegrationRequestModel; pub mod organization_integration_response_model; pub use self::organization_integration_response_model::OrganizationIntegrationResponseModel; +pub mod organization_integration_status; +pub use self::organization_integration_status::OrganizationIntegrationStatus; pub mod organization_keys_request_model; pub use self::organization_keys_request_model::OrganizationKeysRequestModel; pub mod organization_keys_response_model; @@ -450,8 +458,14 @@ pub mod organization_sso_response_model; pub use self::organization_sso_response_model::OrganizationSsoResponseModel; pub mod organization_status_type; pub use self::organization_status_type::OrganizationStatusType; +pub mod organization_subscription_plan_change_request; +pub use self::organization_subscription_plan_change_request::OrganizationSubscriptionPlanChangeRequest; +pub mod organization_subscription_purchase_request; +pub use self::organization_subscription_purchase_request::OrganizationSubscriptionPurchaseRequest; pub mod organization_subscription_response_model; pub use self::organization_subscription_response_model::OrganizationSubscriptionResponseModel; +pub mod organization_subscription_update_request; +pub use self::organization_subscription_update_request::OrganizationSubscriptionUpdateRequest; pub mod organization_subscription_update_request_model; pub use self::organization_subscription_update_request_model::OrganizationSubscriptionUpdateRequestModel; pub mod organization_update_request_model; @@ -504,8 +518,6 @@ pub mod organization_user_user_mini_details_response_model; pub use self::organization_user_user_mini_details_response_model::OrganizationUserUserMiniDetailsResponseModel; pub mod organization_user_user_mini_details_response_model_list_response_model; pub use self::organization_user_user_mini_details_response_model_list_response_model::OrganizationUserUserMiniDetailsResponseModelListResponseModel; -pub mod organization_verify_bank_request_model; -pub use self::organization_verify_bank_request_model::OrganizationVerifyBankRequestModel; pub mod organization_verify_delete_recover_request_model; pub use self::organization_verify_delete_recover_request_model::OrganizationVerifyDeleteRecoverRequestModel; pub mod other_device_keys_update_request_model; @@ -518,6 +530,10 @@ pub mod password_hint_request_model; pub use self::password_hint_request_model::PasswordHintRequestModel; pub mod password_manager_plan_features_response_model; pub use self::password_manager_plan_features_response_model::PasswordManagerPlanFeaturesResponseModel; +pub mod password_manager_purchase_selections; +pub use self::password_manager_purchase_selections::PasswordManagerPurchaseSelections; +pub mod password_manager_update_selections; +pub use self::password_manager_update_selections::PasswordManagerUpdateSelections; pub mod password_request_model; pub use self::password_request_model::PasswordRequestModel; pub mod payment_method_type; @@ -540,6 +556,8 @@ pub mod people_access_policies_request_model; pub use self::people_access_policies_request_model::PeopleAccessPoliciesRequestModel; pub mod permissions; pub use self::permissions::Permissions; +pub mod plan_cadence_type; +pub use self::plan_cadence_type::PlanCadenceType; pub mod plan_response_model; pub use self::plan_response_model::PlanResponseModel; pub mod plan_response_model_list_response_model; @@ -570,14 +588,18 @@ pub mod preview_individual_invoice_request_body; pub use self::preview_individual_invoice_request_body::PreviewIndividualInvoiceRequestBody; pub mod preview_organization_invoice_request_body; pub use self::preview_organization_invoice_request_body::PreviewOrganizationInvoiceRequestBody; -pub mod preview_tax_amount_for_organization_trial_request_body; -pub use self::preview_tax_amount_for_organization_trial_request_body::PreviewTaxAmountForOrganizationTrialRequestBody; +pub mod preview_organization_subscription_plan_change_tax_request; +pub use self::preview_organization_subscription_plan_change_tax_request::PreviewOrganizationSubscriptionPlanChangeTaxRequest; +pub mod preview_organization_subscription_purchase_tax_request; +pub use self::preview_organization_subscription_purchase_tax_request::PreviewOrganizationSubscriptionPurchaseTaxRequest; +pub mod preview_organization_subscription_update_tax_request; +pub use self::preview_organization_subscription_update_tax_request::PreviewOrganizationSubscriptionUpdateTaxRequest; +pub mod preview_premium_subscription_purchase_tax_request; +pub use self::preview_premium_subscription_purchase_tax_request::PreviewPremiumSubscriptionPurchaseTaxRequest; pub mod priority; pub use self::priority::Priority; pub mod product_tier_type; pub use self::product_tier_type::ProductTierType; -pub mod product_type; -pub use self::product_type::ProductType; pub mod profile_organization_response_model; pub use self::profile_organization_response_model::ProfileOrganizationResponseModel; pub mod profile_organization_response_model_list_response_model; @@ -686,6 +708,8 @@ pub mod reset_password_with_org_id_request_model; pub use self::reset_password_with_org_id_request_model::ResetPasswordWithOrgIdRequestModel; pub mod response_data; pub use self::response_data::ResponseData; +pub mod restart_subscription_request; +pub use self::restart_subscription_request::RestartSubscriptionRequest; pub mod revoke_access_tokens_request; pub use self::revoke_access_tokens_request::RevokeAccessTokensRequest; pub mod rotate_user_account_keys_and_data_request_model; @@ -718,12 +742,16 @@ pub mod secret_with_projects_list_response_model; pub use self::secret_with_projects_list_response_model::SecretWithProjectsListResponseModel; pub mod secrets_manager_plan_features_response_model; pub use self::secrets_manager_plan_features_response_model::SecretsManagerPlanFeaturesResponseModel; +pub mod secrets_manager_purchase_selections; +pub use self::secrets_manager_purchase_selections::SecretsManagerPurchaseSelections; pub mod secrets_manager_request_model; pub use self::secrets_manager_request_model::SecretsManagerRequestModel; pub mod secrets_manager_subscribe_request_model; pub use self::secrets_manager_subscribe_request_model::SecretsManagerSubscribeRequestModel; pub mod secrets_manager_subscription_update_request_model; pub use self::secrets_manager_subscription_update_request_model::SecretsManagerSubscriptionUpdateRequestModel; +pub mod secrets_manager_update_selections; +pub use self::secrets_manager_update_selections::SecretsManagerUpdateSelections; pub mod secrets_sync_response_model; pub use self::secrets_sync_response_model::SecretsSyncResponseModel; pub mod secrets_with_projects_inner_secret; @@ -824,8 +852,6 @@ pub mod tax_info_response_model; pub use self::tax_info_response_model::TaxInfoResponseModel; pub mod tax_info_update_request_model; pub use self::tax_info_update_request_model::TaxInfoUpdateRequestModel; -pub mod tax_information_dto; -pub use self::tax_information_dto::TaxInformationDto; pub mod tax_information_request_body; pub use self::tax_information_request_body::TaxInformationRequestBody; pub mod tax_information_request_model; diff --git a/crates/bitwarden-api-api/src/models/organization_integration_response_model.rs b/crates/bitwarden-api-api/src/models/organization_integration_response_model.rs index 7a7f0ea97..26819baff 100644 --- a/crates/bitwarden-api-api/src/models/organization_integration_response_model.rs +++ b/crates/bitwarden-api-api/src/models/organization_integration_response_model.rs @@ -22,6 +22,8 @@ pub struct OrganizationIntegrationResponseModel { pub r#type: Option, #[serde(rename = "configuration", skip_serializing_if = "Option::is_none")] pub configuration: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, } impl OrganizationIntegrationResponseModel { @@ -31,6 +33,7 @@ impl OrganizationIntegrationResponseModel { id: None, r#type: None, configuration: None, + status: None, } } } diff --git a/crates/bitwarden-api-api/src/models/organization_integration_status.rs b/crates/bitwarden-api-api/src/models/organization_integration_status.rs new file mode 100644 index 000000000..24fd3b682 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/organization_integration_status.rs @@ -0,0 +1,47 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; +use serde_repr::{Deserialize_repr, Serialize_repr}; + +use crate::models; +/// +#[repr(i64)] +#[derive( + Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize_repr, Deserialize_repr, +)] +pub enum OrganizationIntegrationStatus { + NotApplicable = 0, + Invalid = 1, + Initiated = 2, + InProgress = 3, + Completed = 4, +} + +impl std::fmt::Display for OrganizationIntegrationStatus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "{}", + match self { + Self::NotApplicable => "0", + Self::Invalid => "1", + Self::Initiated => "2", + Self::InProgress => "3", + Self::Completed => "4", + } + ) + } +} +impl Default for OrganizationIntegrationStatus { + fn default() -> OrganizationIntegrationStatus { + Self::NotApplicable + } +} diff --git a/crates/bitwarden-api-api/src/models/organization_subscription_plan_change_request.rs b/crates/bitwarden-api-api/src/models/organization_subscription_plan_change_request.rs new file mode 100644 index 000000000..fb085df12 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/organization_subscription_plan_change_request.rs @@ -0,0 +1,30 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OrganizationSubscriptionPlanChangeRequest { + #[serde(rename = "tier")] + pub tier: models::ProductTierType, + #[serde(rename = "cadence")] + pub cadence: models::PlanCadenceType, +} + +impl OrganizationSubscriptionPlanChangeRequest { + pub fn new( + tier: models::ProductTierType, + cadence: models::PlanCadenceType, + ) -> OrganizationSubscriptionPlanChangeRequest { + OrganizationSubscriptionPlanChangeRequest { tier, cadence } + } +} diff --git a/crates/bitwarden-api-api/src/models/organization_subscription_purchase_request.rs b/crates/bitwarden-api-api/src/models/organization_subscription_purchase_request.rs new file mode 100644 index 000000000..0a97f6dd3 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/organization_subscription_purchase_request.rs @@ -0,0 +1,40 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OrganizationSubscriptionPurchaseRequest { + #[serde(rename = "tier")] + pub tier: models::ProductTierType, + #[serde(rename = "cadence")] + pub cadence: models::PlanCadenceType, + #[serde(rename = "passwordManager")] + pub password_manager: Box, + #[serde(rename = "secretsManager", skip_serializing_if = "Option::is_none")] + pub secrets_manager: Option>, +} + +impl OrganizationSubscriptionPurchaseRequest { + pub fn new( + tier: models::ProductTierType, + cadence: models::PlanCadenceType, + password_manager: models::PasswordManagerPurchaseSelections, + ) -> OrganizationSubscriptionPurchaseRequest { + OrganizationSubscriptionPurchaseRequest { + tier, + cadence, + password_manager: Box::new(password_manager), + secrets_manager: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/organization_subscription_update_request.rs b/crates/bitwarden-api-api/src/models/organization_subscription_update_request.rs new file mode 100644 index 000000000..3e9045092 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/organization_subscription_update_request.rs @@ -0,0 +1,30 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct OrganizationSubscriptionUpdateRequest { + #[serde(rename = "passwordManager", skip_serializing_if = "Option::is_none")] + pub password_manager: Option>, + #[serde(rename = "secretsManager", skip_serializing_if = "Option::is_none")] + pub secrets_manager: Option>, +} + +impl OrganizationSubscriptionUpdateRequest { + pub fn new() -> OrganizationSubscriptionUpdateRequest { + OrganizationSubscriptionUpdateRequest { + password_manager: None, + secrets_manager: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/organization_verify_bank_request_model.rs b/crates/bitwarden-api-api/src/models/organization_verify_bank_request_model.rs deleted file mode 100644 index 58515ccc5..000000000 --- a/crates/bitwarden-api-api/src/models/organization_verify_bank_request_model.rs +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Bitwarden Internal API - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: latest - * - * Generated by: https://openapi-generator.tech - */ - -use serde::{Deserialize, Serialize}; - -use crate::models; - -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct OrganizationVerifyBankRequestModel { - #[serde(rename = "amount1")] - pub amount1: i32, - #[serde(rename = "amount2")] - pub amount2: i32, -} - -impl OrganizationVerifyBankRequestModel { - pub fn new(amount1: i32, amount2: i32) -> OrganizationVerifyBankRequestModel { - OrganizationVerifyBankRequestModel { amount1, amount2 } - } -} diff --git a/crates/bitwarden-api-api/src/models/password_manager_purchase_selections.rs b/crates/bitwarden-api-api/src/models/password_manager_purchase_selections.rs new file mode 100644 index 000000000..1328592d9 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/password_manager_purchase_selections.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordManagerPurchaseSelections { + #[serde(rename = "seats")] + pub seats: i32, + #[serde(rename = "additionalStorage")] + pub additional_storage: i32, + #[serde(rename = "sponsored", skip_serializing_if = "Option::is_none")] + pub sponsored: Option, +} + +impl PasswordManagerPurchaseSelections { + pub fn new(seats: i32, additional_storage: i32) -> PasswordManagerPurchaseSelections { + PasswordManagerPurchaseSelections { + seats, + additional_storage, + sponsored: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/password_manager_update_selections.rs b/crates/bitwarden-api-api/src/models/password_manager_update_selections.rs new file mode 100644 index 000000000..89cbccbbf --- /dev/null +++ b/crates/bitwarden-api-api/src/models/password_manager_update_selections.rs @@ -0,0 +1,30 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PasswordManagerUpdateSelections { + #[serde(rename = "seats", skip_serializing_if = "Option::is_none")] + pub seats: Option, + #[serde(rename = "additionalStorage", skip_serializing_if = "Option::is_none")] + pub additional_storage: Option, +} + +impl PasswordManagerUpdateSelections { + pub fn new() -> PasswordManagerUpdateSelections { + PasswordManagerUpdateSelections { + seats: None, + additional_storage: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/password_request_model.rs b/crates/bitwarden-api-api/src/models/password_request_model.rs index a48f87284..eac260d58 100644 --- a/crates/bitwarden-api-api/src/models/password_request_model.rs +++ b/crates/bitwarden-api-api/src/models/password_request_model.rs @@ -31,6 +31,10 @@ pub struct PasswordRequestModel { pub master_password_hint: Option, #[serde(rename = "key")] pub key: String, + #[serde(rename = "authenticationData", skip_serializing_if = "Option::is_none")] + pub authentication_data: Option>, + #[serde(rename = "unlockData", skip_serializing_if = "Option::is_none")] + pub unlock_data: Option>, } impl PasswordRequestModel { @@ -43,6 +47,8 @@ impl PasswordRequestModel { new_master_password_hash, master_password_hint: None, key, + authentication_data: None, + unlock_data: None, } } } diff --git a/crates/bitwarden-api-api/src/models/product_type.rs b/crates/bitwarden-api-api/src/models/plan_cadence_type.rs similarity index 69% rename from crates/bitwarden-api-api/src/models/product_type.rs rename to crates/bitwarden-api-api/src/models/plan_cadence_type.rs index 7dbf8f8c5..1f28a4b12 100644 --- a/crates/bitwarden-api-api/src/models/product_type.rs +++ b/crates/bitwarden-api-api/src/models/plan_cadence_type.rs @@ -17,25 +17,25 @@ use crate::models; #[derive( Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize_repr, Deserialize_repr, )] -pub enum ProductType { - PasswordManager = 0, - SecretsManager = 1, +pub enum PlanCadenceType { + Annually = 0, + Monthly = 1, } -impl std::fmt::Display for ProductType { +impl std::fmt::Display for PlanCadenceType { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!( f, "{}", match self { - Self::PasswordManager => "0", - Self::SecretsManager => "1", + Self::Annually => "0", + Self::Monthly => "1", } ) } } -impl Default for ProductType { - fn default() -> ProductType { - Self::PasswordManager +impl Default for PlanCadenceType { + fn default() -> PlanCadenceType { + Self::Annually } } diff --git a/crates/bitwarden-api-api/src/models/policy_type.rs b/crates/bitwarden-api-api/src/models/policy_type.rs index 8b8b548f9..cacc6d2e6 100644 --- a/crates/bitwarden-api-api/src/models/policy_type.rs +++ b/crates/bitwarden-api-api/src/models/policy_type.rs @@ -35,6 +35,7 @@ pub enum PolicyType { RemoveUnlockWithPin = 14, RestrictedItemTypesPolicy = 15, UriMatchDefaults = 16, + AutotypeDefaultSetting = 17, } impl std::fmt::Display for PolicyType { @@ -60,6 +61,7 @@ impl std::fmt::Display for PolicyType { Self::RemoveUnlockWithPin => "14", Self::RestrictedItemTypesPolicy => "15", Self::UriMatchDefaults => "16", + Self::AutotypeDefaultSetting => "17", } ) } diff --git a/crates/bitwarden-api-api/src/models/preview_organization_subscription_plan_change_tax_request.rs b/crates/bitwarden-api-api/src/models/preview_organization_subscription_plan_change_tax_request.rs new file mode 100644 index 000000000..668400efc --- /dev/null +++ b/crates/bitwarden-api-api/src/models/preview_organization_subscription_plan_change_tax_request.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PreviewOrganizationSubscriptionPlanChangeTaxRequest { + #[serde(rename = "plan")] + pub plan: Box, + #[serde(rename = "billingAddress")] + pub billing_address: Box, +} + +impl PreviewOrganizationSubscriptionPlanChangeTaxRequest { + pub fn new( + plan: models::OrganizationSubscriptionPlanChangeRequest, + billing_address: models::CheckoutBillingAddressRequest, + ) -> PreviewOrganizationSubscriptionPlanChangeTaxRequest { + PreviewOrganizationSubscriptionPlanChangeTaxRequest { + plan: Box::new(plan), + billing_address: Box::new(billing_address), + } + } +} diff --git a/crates/bitwarden-api-api/src/models/preview_organization_subscription_purchase_tax_request.rs b/crates/bitwarden-api-api/src/models/preview_organization_subscription_purchase_tax_request.rs new file mode 100644 index 000000000..6bb8b0ded --- /dev/null +++ b/crates/bitwarden-api-api/src/models/preview_organization_subscription_purchase_tax_request.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PreviewOrganizationSubscriptionPurchaseTaxRequest { + #[serde(rename = "purchase")] + pub purchase: Box, + #[serde(rename = "billingAddress")] + pub billing_address: Box, +} + +impl PreviewOrganizationSubscriptionPurchaseTaxRequest { + pub fn new( + purchase: models::OrganizationSubscriptionPurchaseRequest, + billing_address: models::CheckoutBillingAddressRequest, + ) -> PreviewOrganizationSubscriptionPurchaseTaxRequest { + PreviewOrganizationSubscriptionPurchaseTaxRequest { + purchase: Box::new(purchase), + billing_address: Box::new(billing_address), + } + } +} diff --git a/crates/bitwarden-api-api/src/models/preview_organization_subscription_update_tax_request.rs b/crates/bitwarden-api-api/src/models/preview_organization_subscription_update_tax_request.rs new file mode 100644 index 000000000..8cadc5fc0 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/preview_organization_subscription_update_tax_request.rs @@ -0,0 +1,29 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PreviewOrganizationSubscriptionUpdateTaxRequest { + #[serde(rename = "update")] + pub update: Box, +} + +impl PreviewOrganizationSubscriptionUpdateTaxRequest { + pub fn new( + update: models::OrganizationSubscriptionUpdateRequest, + ) -> PreviewOrganizationSubscriptionUpdateTaxRequest { + PreviewOrganizationSubscriptionUpdateTaxRequest { + update: Box::new(update), + } + } +} diff --git a/crates/bitwarden-api-api/src/models/preview_premium_subscription_purchase_tax_request.rs b/crates/bitwarden-api-api/src/models/preview_premium_subscription_purchase_tax_request.rs new file mode 100644 index 000000000..d1beed90a --- /dev/null +++ b/crates/bitwarden-api-api/src/models/preview_premium_subscription_purchase_tax_request.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PreviewPremiumSubscriptionPurchaseTaxRequest { + #[serde(rename = "additionalStorage")] + pub additional_storage: i32, + #[serde(rename = "billingAddress")] + pub billing_address: Box, +} + +impl PreviewPremiumSubscriptionPurchaseTaxRequest { + pub fn new( + additional_storage: i32, + billing_address: models::MinimalBillingAddressRequest, + ) -> PreviewPremiumSubscriptionPurchaseTaxRequest { + PreviewPremiumSubscriptionPurchaseTaxRequest { + additional_storage, + billing_address: Box::new(billing_address), + } + } +} diff --git a/crates/bitwarden-api-api/src/models/preview_tax_amount_for_organization_trial_request_body.rs b/crates/bitwarden-api-api/src/models/preview_tax_amount_for_organization_trial_request_body.rs deleted file mode 100644 index aae5d1a05..000000000 --- a/crates/bitwarden-api-api/src/models/preview_tax_amount_for_organization_trial_request_body.rs +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Bitwarden Internal API - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: latest - * - * Generated by: https://openapi-generator.tech - */ - -use serde::{Deserialize, Serialize}; - -use crate::models; - -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct PreviewTaxAmountForOrganizationTrialRequestBody { - #[serde(rename = "planType")] - pub plan_type: models::PlanType, - #[serde(rename = "productType")] - pub product_type: models::ProductType, - #[serde(rename = "taxInformation")] - pub tax_information: Box, -} - -impl PreviewTaxAmountForOrganizationTrialRequestBody { - pub fn new( - plan_type: models::PlanType, - product_type: models::ProductType, - tax_information: models::TaxInformationDto, - ) -> PreviewTaxAmountForOrganizationTrialRequestBody { - PreviewTaxAmountForOrganizationTrialRequestBody { - plan_type, - product_type, - tax_information: Box::new(tax_information), - } - } -} diff --git a/crates/bitwarden-api-api/src/models/provider_setup_request_model.rs b/crates/bitwarden-api-api/src/models/provider_setup_request_model.rs index 9fc0fec26..a67af28c7 100644 --- a/crates/bitwarden-api-api/src/models/provider_setup_request_model.rs +++ b/crates/bitwarden-api-api/src/models/provider_setup_request_model.rs @@ -24,10 +24,10 @@ pub struct ProviderSetupRequestModel { pub token: String, #[serde(rename = "key")] pub key: String, - #[serde(rename = "taxInfo")] - pub tax_info: Box, - #[serde(rename = "paymentSource", skip_serializing_if = "Option::is_none")] - pub payment_source: Option>, + #[serde(rename = "paymentMethod")] + pub payment_method: Box, + #[serde(rename = "billingAddress")] + pub billing_address: Box, } impl ProviderSetupRequestModel { @@ -36,7 +36,8 @@ impl ProviderSetupRequestModel { billing_email: String, token: String, key: String, - tax_info: models::ExpandedTaxInfoUpdateRequestModel, + payment_method: models::MinimalTokenizedPaymentMethodRequest, + billing_address: models::BillingAddressRequest, ) -> ProviderSetupRequestModel { ProviderSetupRequestModel { name, @@ -44,8 +45,8 @@ impl ProviderSetupRequestModel { billing_email, token, key, - tax_info: Box::new(tax_info), - payment_source: None, + payment_method: Box::new(payment_method), + billing_address: Box::new(billing_address), } } } diff --git a/crates/bitwarden-api-api/src/models/restart_subscription_request.rs b/crates/bitwarden-api-api/src/models/restart_subscription_request.rs new file mode 100644 index 000000000..163f4582b --- /dev/null +++ b/crates/bitwarden-api-api/src/models/restart_subscription_request.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RestartSubscriptionRequest { + #[serde(rename = "paymentMethod")] + pub payment_method: Box, + #[serde(rename = "billingAddress")] + pub billing_address: Box, +} + +impl RestartSubscriptionRequest { + pub fn new( + payment_method: models::MinimalTokenizedPaymentMethodRequest, + billing_address: models::CheckoutBillingAddressRequest, + ) -> RestartSubscriptionRequest { + RestartSubscriptionRequest { + payment_method: Box::new(payment_method), + billing_address: Box::new(billing_address), + } + } +} diff --git a/crates/bitwarden-api-api/src/models/secrets_manager_purchase_selections.rs b/crates/bitwarden-api-api/src/models/secrets_manager_purchase_selections.rs new file mode 100644 index 000000000..dace7782e --- /dev/null +++ b/crates/bitwarden-api-api/src/models/secrets_manager_purchase_selections.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SecretsManagerPurchaseSelections { + #[serde(rename = "seats")] + pub seats: i32, + #[serde(rename = "additionalServiceAccounts")] + pub additional_service_accounts: i32, + #[serde(rename = "standalone", skip_serializing_if = "Option::is_none")] + pub standalone: Option, +} + +impl SecretsManagerPurchaseSelections { + pub fn new(seats: i32, additional_service_accounts: i32) -> SecretsManagerPurchaseSelections { + SecretsManagerPurchaseSelections { + seats, + additional_service_accounts, + standalone: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/secrets_manager_update_selections.rs b/crates/bitwarden-api-api/src/models/secrets_manager_update_selections.rs new file mode 100644 index 000000000..61ce8efd2 --- /dev/null +++ b/crates/bitwarden-api-api/src/models/secrets_manager_update_selections.rs @@ -0,0 +1,33 @@ +/* + * Bitwarden Internal API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: latest + * + * Generated by: https://openapi-generator.tech + */ + +use serde::{Deserialize, Serialize}; + +use crate::models; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SecretsManagerUpdateSelections { + #[serde(rename = "seats", skip_serializing_if = "Option::is_none")] + pub seats: Option, + #[serde( + rename = "additionalServiceAccounts", + skip_serializing_if = "Option::is_none" + )] + pub additional_service_accounts: Option, +} + +impl SecretsManagerUpdateSelections { + pub fn new() -> SecretsManagerUpdateSelections { + SecretsManagerUpdateSelections { + seats: None, + additional_service_accounts: None, + } + } +} diff --git a/crates/bitwarden-api-api/src/models/unlock_data_request_model.rs b/crates/bitwarden-api-api/src/models/unlock_data_request_model.rs index fc7681c09..58ad21663 100644 --- a/crates/bitwarden-api-api/src/models/unlock_data_request_model.rs +++ b/crates/bitwarden-api-api/src/models/unlock_data_request_model.rs @@ -15,7 +15,7 @@ use crate::models; #[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] pub struct UnlockDataRequestModel { #[serde(rename = "masterPasswordUnlockData")] - pub master_password_unlock_data: Box, + pub master_password_unlock_data: Box, #[serde(rename = "emergencyAccessUnlockData")] pub emergency_access_unlock_data: Option>, #[serde(rename = "organizationAccountRecoveryUnlockData")] @@ -29,7 +29,7 @@ pub struct UnlockDataRequestModel { impl UnlockDataRequestModel { pub fn new( - master_password_unlock_data: models::MasterPasswordUnlockDataModel, + master_password_unlock_data: models::MasterPasswordUnlockAndAuthenticationDataModel, emergency_access_unlock_data: Option>, organization_account_recovery_unlock_data: Option< Vec, diff --git a/crates/bitwarden-api-identity/README.md b/crates/bitwarden-api-identity/README.md index b977110f9..974656518 100644 --- a/crates/bitwarden-api-identity/README.md +++ b/crates/bitwarden-api-identity/README.md @@ -12,7 +12,7 @@ client. - API version: v1 - Package version: 1.0.0 - Server Git commit: - [`d384c0cfe60ec02226479d3cde200e4d785a7e50`](https://github.com/bitwarden/server/commit/d384c0cfe60ec02226479d3cde200e4d785a7e50) + [`d2577f670e1cf9ca32791135d2197cff1fe12096`](https://github.com/bitwarden/server/commit/d2577f670e1cf9ca32791135d2197cff1fe12096) - Generator version: 7.15.0 - Build package: `org.openapitools.codegen.languages.RustClientCodegen` From b57aa3210e6661e26d8e825efde6ba946c619e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Mon, 6 Oct 2025 15:48:54 +0200 Subject: [PATCH 2/2] Add missing policy --- crates/bitwarden-core/src/admin_console/policy.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/bitwarden-core/src/admin_console/policy.rs b/crates/bitwarden-core/src/admin_console/policy.rs index 5db183d28..5f5ff161f 100644 --- a/crates/bitwarden-core/src/admin_console/policy.rs +++ b/crates/bitwarden-core/src/admin_console/policy.rs @@ -49,6 +49,7 @@ pub enum PolicyType { RemoveUnlockWithPin = 14, RestrictedItemTypesPolicy = 15, UriMatchDefaults = 16, + AutotypeDefaultSetting = 17, } impl TryFrom for Policy { @@ -103,6 +104,9 @@ impl From for PolicyType { PolicyType::RestrictedItemTypesPolicy } bitwarden_api_api::models::PolicyType::UriMatchDefaults => PolicyType::UriMatchDefaults, + bitwarden_api_api::models::PolicyType::AutotypeDefaultSetting => { + PolicyType::AutotypeDefaultSetting + } } } }