Skip to main content

bitwarden_api_api/apis/
access_requests_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 AccessRequestsApi: Send + Sync {
29    /// POST /access-requests/{id}/activate
30    async fn activate<'a>(&self, id: uuid::Uuid)
31    -> Result<models::AccessLeaseResponseModel, Error>;
32
33    /// POST /access-requests/{id}/decision
34    async fn decide<'a>(
35        &self,
36        id: uuid::Uuid,
37        access_decision_request_model: models::AccessDecisionRequestModel,
38    ) -> Result<models::AccessRequestDetailsResponseModel, Error>;
39
40    /// GET /access-requests/{id}
41    async fn get_details<'a>(
42        &self,
43        id: uuid::Uuid,
44    ) -> Result<models::AccessRequestDetailsResponseModel, Error>;
45
46    /// GET /access-requests/history
47    async fn get_history(
48        &self,
49    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error>;
50
51    /// GET /access-requests/inbox
52    async fn get_inbox(
53        &self,
54    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error>;
55
56    /// GET /access-requests/mine
57    async fn get_mine(
58        &self,
59    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error>;
60
61    /// POST /access-requests/{id}/revoke
62    async fn revoke<'a>(&self, id: uuid::Uuid) -> Result<(), Error>;
63}
64
65pub struct AccessRequestsApiClient {
66    configuration: Arc<configuration::Configuration>,
67}
68
69impl AccessRequestsApiClient {
70    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
71        Self { configuration }
72    }
73}
74
75#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
76#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
77impl AccessRequestsApi for AccessRequestsApiClient {
78    async fn activate<'a>(
79        &self,
80        id: uuid::Uuid,
81    ) -> Result<models::AccessLeaseResponseModel, Error> {
82        let local_var_configuration = &self.configuration;
83
84        let local_var_client = &local_var_configuration.client;
85
86        let local_var_uri_str = format!(
87            "{}/access-requests/{id}/activate",
88            local_var_configuration.base_path,
89            id = id
90        );
91        let mut local_var_req_builder =
92            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
93
94        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
95
96        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
97    }
98
99    async fn decide<'a>(
100        &self,
101        id: uuid::Uuid,
102        access_decision_request_model: models::AccessDecisionRequestModel,
103    ) -> Result<models::AccessRequestDetailsResponseModel, Error> {
104        let local_var_configuration = &self.configuration;
105
106        let local_var_client = &local_var_configuration.client;
107
108        let local_var_uri_str = format!(
109            "{}/access-requests/{id}/decision",
110            local_var_configuration.base_path,
111            id = id
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 = local_var_req_builder.json(&access_decision_request_model);
118
119        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
120    }
121
122    async fn get_details<'a>(
123        &self,
124        id: uuid::Uuid,
125    ) -> Result<models::AccessRequestDetailsResponseModel, Error> {
126        let local_var_configuration = &self.configuration;
127
128        let local_var_client = &local_var_configuration.client;
129
130        let local_var_uri_str = format!(
131            "{}/access-requests/{id}",
132            local_var_configuration.base_path,
133            id = id
134        );
135        let mut local_var_req_builder =
136            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
137
138        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
139
140        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
141    }
142
143    async fn get_history(
144        &self,
145    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error> {
146        let local_var_configuration = &self.configuration;
147
148        let local_var_client = &local_var_configuration.client;
149
150        let local_var_uri_str = format!(
151            "{}/access-requests/history",
152            local_var_configuration.base_path
153        );
154        let mut local_var_req_builder =
155            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
156
157        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
158
159        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
160    }
161
162    async fn get_inbox(
163        &self,
164    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error> {
165        let local_var_configuration = &self.configuration;
166
167        let local_var_client = &local_var_configuration.client;
168
169        let local_var_uri_str = format!(
170            "{}/access-requests/inbox",
171            local_var_configuration.base_path
172        );
173        let mut local_var_req_builder =
174            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
175
176        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
177
178        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
179    }
180
181    async fn get_mine(
182        &self,
183    ) -> Result<models::AccessRequestDetailsResponseModelListResponseModel, Error> {
184        let local_var_configuration = &self.configuration;
185
186        let local_var_client = &local_var_configuration.client;
187
188        let local_var_uri_str =
189            format!("{}/access-requests/mine", local_var_configuration.base_path);
190        let mut local_var_req_builder =
191            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
192
193        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
194
195        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
196    }
197
198    async fn revoke<'a>(&self, id: uuid::Uuid) -> Result<(), Error> {
199        let local_var_configuration = &self.configuration;
200
201        let local_var_client = &local_var_configuration.client;
202
203        let local_var_uri_str = format!(
204            "{}/access-requests/{id}/revoke",
205            local_var_configuration.base_path,
206            id = id
207        );
208        let mut local_var_req_builder =
209            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
210
211        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
212
213        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
214    }
215}