Skip to main content

bitwarden_api_api/apis/
sso_jit_provision_finish_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait SsoJitProvisionFinishApi: Send + Sync {
29    /// POST /sso-jit-provision-finish/key-connector
30    /// Accepts the same V2 and V1 key shapes as `accounts/set-key-connector-key`.
31    async fn finish_jit_provision_for_key_connector<'a>(
32        &self,
33        sso_jit_provision_finish_set_key_connector_key_request_model: Option<
34            models::SsoJitProvisionFinishSetKeyConnectorKeyRequestModel,
35        >,
36    ) -> Result<(), Error>;
37
38    /// POST /sso-jit-provision-finish/password
39    /// Accepts MPAD + MPUD with exactly one keypair: V2 encryption (AccountKeys, V2 MP JIT flag on)
40    /// or V1 encryption (legacy Keys).
41    async fn finish_jit_provision_for_password<'a>(
42        &self,
43        sso_jit_provision_finish_password_request_model: Option<
44            models::SsoJitProvisionFinishPasswordRequestModel,
45        >,
46    ) -> Result<(), Error>;
47
48    /// POST /sso-jit-provision-finish/trusted-device
49    /// Replaces the `accounts/keys`, `reset-password-enrollment` and `devices/{identifier}/keys`
50    /// calls of the trusted device encryption JIT flow.
51    async fn finish_trusted_device<'a>(
52        &self,
53        sso_jit_provision_finish_trusted_device_request_model: Option<
54            models::SsoJitProvisionFinishTrustedDeviceRequestModel,
55        >,
56    ) -> Result<(), Error>;
57}
58
59pub struct SsoJitProvisionFinishApiClient {
60    configuration: Arc<configuration::Configuration>,
61}
62
63impl SsoJitProvisionFinishApiClient {
64    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
65        Self { configuration }
66    }
67}
68
69#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
70#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
71impl SsoJitProvisionFinishApi for SsoJitProvisionFinishApiClient {
72    /// Accepts the same V2 and V1 key shapes as `accounts/set-key-connector-key`.
73    async fn finish_jit_provision_for_key_connector<'a>(
74        &self,
75        sso_jit_provision_finish_set_key_connector_key_request_model: Option<
76            models::SsoJitProvisionFinishSetKeyConnectorKeyRequestModel,
77        >,
78    ) -> Result<(), Error> {
79        let local_var_configuration = &self.configuration;
80
81        let local_var_client = &local_var_configuration.client;
82
83        let local_var_uri_str = format!(
84            "{}/sso-jit-provision-finish/key-connector",
85            local_var_configuration.base_path
86        );
87        let mut local_var_req_builder =
88            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
89
90        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
91        local_var_req_builder = local_var_req_builder
92            .json(&sso_jit_provision_finish_set_key_connector_key_request_model);
93
94        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
95    }
96
97    /// Accepts MPAD + MPUD with exactly one keypair: V2 encryption (AccountKeys, V2 MP JIT flag on)
98    /// or V1 encryption (legacy Keys).
99    async fn finish_jit_provision_for_password<'a>(
100        &self,
101        sso_jit_provision_finish_password_request_model: Option<
102            models::SsoJitProvisionFinishPasswordRequestModel,
103        >,
104    ) -> Result<(), Error> {
105        let local_var_configuration = &self.configuration;
106
107        let local_var_client = &local_var_configuration.client;
108
109        let local_var_uri_str = format!(
110            "{}/sso-jit-provision-finish/password",
111            local_var_configuration.base_path
112        );
113        let mut local_var_req_builder =
114            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
115
116        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
117        local_var_req_builder =
118            local_var_req_builder.json(&sso_jit_provision_finish_password_request_model);
119
120        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
121    }
122
123    /// Replaces the `accounts/keys`, `reset-password-enrollment` and `devices/{identifier}/keys`
124    /// calls of the trusted device encryption JIT flow.
125    async fn finish_trusted_device<'a>(
126        &self,
127        sso_jit_provision_finish_trusted_device_request_model: Option<
128            models::SsoJitProvisionFinishTrustedDeviceRequestModel,
129        >,
130    ) -> Result<(), Error> {
131        let local_var_configuration = &self.configuration;
132
133        let local_var_client = &local_var_configuration.client;
134
135        let local_var_uri_str = format!(
136            "{}/sso-jit-provision-finish/trusted-device",
137            local_var_configuration.base_path
138        );
139        let mut local_var_req_builder =
140            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
141
142        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
143        local_var_req_builder =
144            local_var_req_builder.json(&sso_jit_provision_finish_trusted_device_request_model);
145
146        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
147    }
148}