Skip to main content

bitwarden_api_api/apis/
devices_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 DevicesApi: Send + Sync {
29    /// DELETE /devices/{id}
30    async fn deactivate<'a>(&self, id: &'a str) -> Result<(), Error>;
31
32    /// GET /devices/{id}
33    async fn get<'a>(&self, id: &'a str) -> Result<models::DeviceResponseModel, Error>;
34
35    /// GET /devices
36    async fn get_all(
37        &self,
38    ) -> Result<models::DeviceAuthRequestResponseModelListResponseModel, Error>;
39
40    /// GET /devices/identifier/{identifier}
41    async fn get_by_identifier<'a>(
42        &self,
43        identifier: &'a str,
44    ) -> Result<models::DeviceResponseModel, Error>;
45
46    /// GET /devices/knowndevice
47    async fn get_by_identifier_query<'a>(
48        &self,
49        x_request_email: &'a str,
50        x_device_identifier: &'a str,
51    ) -> Result<bool, Error>;
52
53    /// POST /devices
54    async fn post<'a>(
55        &self,
56        device_request_model: Option<models::DeviceRequestModel>,
57    ) -> Result<models::DeviceResponseModel, Error>;
58
59    /// POST /devices/lost-trust
60    async fn post_lost_trust(&self) -> Result<(), Error>;
61
62    /// POST /devices/untrust
63    async fn post_untrust<'a>(
64        &self,
65        untrust_devices_request_model: Option<models::UntrustDevicesRequestModel>,
66    ) -> Result<(), Error>;
67
68    /// POST /devices/update-trust
69    async fn post_update_trust<'a>(
70        &self,
71        update_devices_trust_request_model: Option<models::UpdateDevicesTrustRequestModel>,
72    ) -> Result<(), Error>;
73
74    /// PUT /devices/{id}
75    async fn put<'a>(
76        &self,
77        id: &'a str,
78        device_request_model: Option<models::DeviceRequestModel>,
79    ) -> Result<models::DeviceResponseModel, Error>;
80
81    /// PUT /devices/identifier/{identifier}/clear-token
82    async fn put_clear_token<'a>(&self, identifier: &'a str) -> Result<(), Error>;
83
84    /// PUT /devices/{identifier}/keys
85    async fn put_keys<'a>(
86        &self,
87        identifier: &'a str,
88        device_keys_request_model: Option<models::DeviceKeysRequestModel>,
89    ) -> Result<models::DeviceResponseModel, Error>;
90
91    /// PUT /devices/identifier/{identifier}/token
92    async fn put_token<'a>(
93        &self,
94        identifier: &'a str,
95        device_token_request_model: Option<models::DeviceTokenRequestModel>,
96    ) -> Result<(), Error>;
97
98    /// PUT /devices/identifier/{identifier}/web-push-auth
99    async fn put_web_push_auth<'a>(
100        &self,
101        identifier: &'a str,
102        web_push_auth_request_model: Option<models::WebPushAuthRequestModel>,
103    ) -> Result<(), Error>;
104}
105
106pub struct DevicesApiClient {
107    configuration: Arc<configuration::Configuration>,
108}
109
110impl DevicesApiClient {
111    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
112        Self { configuration }
113    }
114}
115
116#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
117#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
118impl DevicesApi for DevicesApiClient {
119    async fn deactivate<'a>(&self, id: &'a str) -> Result<(), Error> {
120        let local_var_configuration = &self.configuration;
121
122        let local_var_client = &local_var_configuration.client;
123
124        let local_var_uri_str = format!(
125            "{}/devices/{id}",
126            local_var_configuration.base_path,
127            id = crate::apis::urlencode(id)
128        );
129        let mut local_var_req_builder =
130            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
131
132        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
133
134        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
135    }
136
137    async fn get<'a>(&self, id: &'a str) -> Result<models::DeviceResponseModel, Error> {
138        let local_var_configuration = &self.configuration;
139
140        let local_var_client = &local_var_configuration.client;
141
142        let local_var_uri_str = format!(
143            "{}/devices/{id}",
144            local_var_configuration.base_path,
145            id = crate::apis::urlencode(id)
146        );
147        let mut local_var_req_builder =
148            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
149
150        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
151
152        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
153    }
154
155    async fn get_all(
156        &self,
157    ) -> Result<models::DeviceAuthRequestResponseModelListResponseModel, Error> {
158        let local_var_configuration = &self.configuration;
159
160        let local_var_client = &local_var_configuration.client;
161
162        let local_var_uri_str = format!("{}/devices", local_var_configuration.base_path);
163        let mut local_var_req_builder =
164            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
165
166        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
167
168        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
169    }
170
171    async fn get_by_identifier<'a>(
172        &self,
173        identifier: &'a str,
174    ) -> Result<models::DeviceResponseModel, Error> {
175        let local_var_configuration = &self.configuration;
176
177        let local_var_client = &local_var_configuration.client;
178
179        let local_var_uri_str = format!(
180            "{}/devices/identifier/{identifier}",
181            local_var_configuration.base_path,
182            identifier = crate::apis::urlencode(identifier)
183        );
184        let mut local_var_req_builder =
185            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
186
187        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
188
189        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
190    }
191
192    async fn get_by_identifier_query<'a>(
193        &self,
194        x_request_email: &'a str,
195        x_device_identifier: &'a str,
196    ) -> Result<bool, Error> {
197        let local_var_configuration = &self.configuration;
198
199        let local_var_client = &local_var_configuration.client;
200
201        let local_var_uri_str =
202            format!("{}/devices/knowndevice", local_var_configuration.base_path);
203        let mut local_var_req_builder =
204            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
205
206        local_var_req_builder =
207            local_var_req_builder.header("x-Request-Email", x_request_email.to_string());
208        local_var_req_builder =
209            local_var_req_builder.header("x-Device-Identifier", x_device_identifier.to_string());
210        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
211
212        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
213    }
214
215    async fn post<'a>(
216        &self,
217        device_request_model: Option<models::DeviceRequestModel>,
218    ) -> Result<models::DeviceResponseModel, Error> {
219        let local_var_configuration = &self.configuration;
220
221        let local_var_client = &local_var_configuration.client;
222
223        let local_var_uri_str = format!("{}/devices", local_var_configuration.base_path);
224        let mut local_var_req_builder =
225            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
226
227        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
228        local_var_req_builder = local_var_req_builder.json(&device_request_model);
229
230        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
231    }
232
233    async fn post_lost_trust(&self) -> Result<(), Error> {
234        let local_var_configuration = &self.configuration;
235
236        let local_var_client = &local_var_configuration.client;
237
238        let local_var_uri_str = format!("{}/devices/lost-trust", local_var_configuration.base_path);
239        let mut local_var_req_builder =
240            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
241
242        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
243
244        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
245    }
246
247    async fn post_untrust<'a>(
248        &self,
249        untrust_devices_request_model: Option<models::UntrustDevicesRequestModel>,
250    ) -> Result<(), Error> {
251        let local_var_configuration = &self.configuration;
252
253        let local_var_client = &local_var_configuration.client;
254
255        let local_var_uri_str = format!("{}/devices/untrust", local_var_configuration.base_path);
256        let mut local_var_req_builder =
257            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
258
259        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
260        local_var_req_builder = local_var_req_builder.json(&untrust_devices_request_model);
261
262        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
263    }
264
265    async fn post_update_trust<'a>(
266        &self,
267        update_devices_trust_request_model: Option<models::UpdateDevicesTrustRequestModel>,
268    ) -> Result<(), Error> {
269        let local_var_configuration = &self.configuration;
270
271        let local_var_client = &local_var_configuration.client;
272
273        let local_var_uri_str =
274            format!("{}/devices/update-trust", local_var_configuration.base_path);
275        let mut local_var_req_builder =
276            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
277
278        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
279        local_var_req_builder = local_var_req_builder.json(&update_devices_trust_request_model);
280
281        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
282    }
283
284    async fn put<'a>(
285        &self,
286        id: &'a str,
287        device_request_model: Option<models::DeviceRequestModel>,
288    ) -> Result<models::DeviceResponseModel, Error> {
289        let local_var_configuration = &self.configuration;
290
291        let local_var_client = &local_var_configuration.client;
292
293        let local_var_uri_str = format!(
294            "{}/devices/{id}",
295            local_var_configuration.base_path,
296            id = crate::apis::urlencode(id)
297        );
298        let mut local_var_req_builder =
299            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
300
301        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
302        local_var_req_builder = local_var_req_builder.json(&device_request_model);
303
304        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
305    }
306
307    async fn put_clear_token<'a>(&self, identifier: &'a str) -> Result<(), Error> {
308        let local_var_configuration = &self.configuration;
309
310        let local_var_client = &local_var_configuration.client;
311
312        let local_var_uri_str = format!(
313            "{}/devices/identifier/{identifier}/clear-token",
314            local_var_configuration.base_path,
315            identifier = crate::apis::urlencode(identifier)
316        );
317        let mut local_var_req_builder =
318            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
319
320        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
321
322        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
323    }
324
325    async fn put_keys<'a>(
326        &self,
327        identifier: &'a str,
328        device_keys_request_model: Option<models::DeviceKeysRequestModel>,
329    ) -> Result<models::DeviceResponseModel, Error> {
330        let local_var_configuration = &self.configuration;
331
332        let local_var_client = &local_var_configuration.client;
333
334        let local_var_uri_str = format!(
335            "{}/devices/{identifier}/keys",
336            local_var_configuration.base_path,
337            identifier = crate::apis::urlencode(identifier)
338        );
339        let mut local_var_req_builder =
340            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
341
342        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
343        local_var_req_builder = local_var_req_builder.json(&device_keys_request_model);
344
345        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
346    }
347
348    async fn put_token<'a>(
349        &self,
350        identifier: &'a str,
351        device_token_request_model: Option<models::DeviceTokenRequestModel>,
352    ) -> Result<(), Error> {
353        let local_var_configuration = &self.configuration;
354
355        let local_var_client = &local_var_configuration.client;
356
357        let local_var_uri_str = format!(
358            "{}/devices/identifier/{identifier}/token",
359            local_var_configuration.base_path,
360            identifier = crate::apis::urlencode(identifier)
361        );
362        let mut local_var_req_builder =
363            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
364
365        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
366        local_var_req_builder = local_var_req_builder.json(&device_token_request_model);
367
368        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
369    }
370
371    async fn put_web_push_auth<'a>(
372        &self,
373        identifier: &'a str,
374        web_push_auth_request_model: Option<models::WebPushAuthRequestModel>,
375    ) -> Result<(), Error> {
376        let local_var_configuration = &self.configuration;
377
378        let local_var_client = &local_var_configuration.client;
379
380        let local_var_uri_str = format!(
381            "{}/devices/identifier/{identifier}/web-push-auth",
382            local_var_configuration.base_path,
383            identifier = crate::apis::urlencode(identifier)
384        );
385        let mut local_var_req_builder =
386            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
387
388        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
389        local_var_req_builder = local_var_req_builder.json(&web_push_auth_request_model);
390
391        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
392    }
393}