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