Skip to main content

bitwarden_api_api/apis/
access_policies_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 AccessPoliciesApi: Send + Sync {
29    /// GET /organizations/{id}/access-policies/people/potential-grantees
30    async fn get_people_potential_grantees<'a>(
31        &self,
32        id: uuid::Uuid,
33    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, Error>;
34
35    /// GET /projects/{id}/access-policies/people
36    async fn get_project_people_access_policies<'a>(
37        &self,
38        id: uuid::Uuid,
39    ) -> Result<models::ProjectPeopleAccessPoliciesResponseModel, Error>;
40
41    /// GET /organizations/{id}/access-policies/projects/potential-grantees
42    async fn get_project_potential_grantees<'a>(
43        &self,
44        id: uuid::Uuid,
45    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, Error>;
46
47    /// GET /projects/{id}/access-policies/service-accounts
48    async fn get_project_service_accounts_access_policies<'a>(
49        &self,
50        id: uuid::Uuid,
51    ) -> Result<models::ProjectServiceAccountsAccessPoliciesResponseModel, Error>;
52
53    /// GET /secrets/{secretId}/access-policies
54    async fn get_secret_access_policies<'a>(
55        &self,
56        secret_id: uuid::Uuid,
57    ) -> Result<models::SecretAccessPoliciesResponseModel, Error>;
58
59    /// GET /service-accounts/{id}/granted-policies
60    async fn get_service_account_granted_policies<'a>(
61        &self,
62        id: uuid::Uuid,
63    ) -> Result<models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel, Error>;
64
65    /// GET /service-accounts/{id}/access-policies/people
66    async fn get_service_account_people_access_policies<'a>(
67        &self,
68        id: uuid::Uuid,
69    ) -> Result<models::ServiceAccountPeopleAccessPoliciesResponseModel, Error>;
70
71    /// GET /organizations/{id}/access-policies/service-accounts/potential-grantees
72    async fn get_service_accounts_potential_grantees<'a>(
73        &self,
74        id: uuid::Uuid,
75    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, Error>;
76
77    /// PUT /projects/{id}/access-policies/people
78    async fn put_project_people_access_policies<'a>(
79        &self,
80        id: uuid::Uuid,
81        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
82    ) -> Result<models::ProjectPeopleAccessPoliciesResponseModel, Error>;
83
84    /// PUT /projects/{id}/access-policies/service-accounts
85    async fn put_project_service_accounts_access_policies<'a>(
86        &self,
87        id: uuid::Uuid,
88        project_service_accounts_access_policies_request_model: Option<
89            models::ProjectServiceAccountsAccessPoliciesRequestModel,
90        >,
91    ) -> Result<models::ProjectServiceAccountsAccessPoliciesResponseModel, Error>;
92
93    /// PUT /service-accounts/{id}/granted-policies
94    async fn put_service_account_granted_policies<'a>(
95        &self,
96        id: uuid::Uuid,
97        service_account_granted_policies_request_model: Option<
98            models::ServiceAccountGrantedPoliciesRequestModel,
99        >,
100    ) -> Result<models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel, Error>;
101
102    /// PUT /service-accounts/{id}/access-policies/people
103    async fn put_service_account_people_access_policies<'a>(
104        &self,
105        id: uuid::Uuid,
106        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
107    ) -> Result<models::ServiceAccountPeopleAccessPoliciesResponseModel, Error>;
108}
109
110pub struct AccessPoliciesApiClient {
111    configuration: Arc<configuration::Configuration>,
112}
113
114impl AccessPoliciesApiClient {
115    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
116        Self { configuration }
117    }
118}
119
120#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
121#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
122impl AccessPoliciesApi for AccessPoliciesApiClient {
123    async fn get_people_potential_grantees<'a>(
124        &self,
125        id: uuid::Uuid,
126    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, Error> {
127        let local_var_configuration = &self.configuration;
128
129        let local_var_client = &local_var_configuration.client;
130
131        let local_var_uri_str = format!(
132            "{}/organizations/{id}/access-policies/people/potential-grantees",
133            local_var_configuration.base_path,
134            id = id
135        );
136        let mut local_var_req_builder =
137            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
138
139        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
140
141        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
142    }
143
144    async fn get_project_people_access_policies<'a>(
145        &self,
146        id: uuid::Uuid,
147    ) -> Result<models::ProjectPeopleAccessPoliciesResponseModel, Error> {
148        let local_var_configuration = &self.configuration;
149
150        let local_var_client = &local_var_configuration.client;
151
152        let local_var_uri_str = format!(
153            "{}/projects/{id}/access-policies/people",
154            local_var_configuration.base_path,
155            id = id
156        );
157        let mut local_var_req_builder =
158            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
159
160        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
161
162        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
163    }
164
165    async fn get_project_potential_grantees<'a>(
166        &self,
167        id: uuid::Uuid,
168    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, 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            "{}/organizations/{id}/access-policies/projects/potential-grantees",
175            local_var_configuration.base_path,
176            id = id
177        );
178        let mut local_var_req_builder =
179            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
180
181        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
182
183        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
184    }
185
186    async fn get_project_service_accounts_access_policies<'a>(
187        &self,
188        id: uuid::Uuid,
189    ) -> Result<models::ProjectServiceAccountsAccessPoliciesResponseModel, Error> {
190        let local_var_configuration = &self.configuration;
191
192        let local_var_client = &local_var_configuration.client;
193
194        let local_var_uri_str = format!(
195            "{}/projects/{id}/access-policies/service-accounts",
196            local_var_configuration.base_path,
197            id = id
198        );
199        let mut local_var_req_builder =
200            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
201
202        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
203
204        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
205    }
206
207    async fn get_secret_access_policies<'a>(
208        &self,
209        secret_id: uuid::Uuid,
210    ) -> Result<models::SecretAccessPoliciesResponseModel, Error> {
211        let local_var_configuration = &self.configuration;
212
213        let local_var_client = &local_var_configuration.client;
214
215        let local_var_uri_str = format!(
216            "{}/secrets/{secretId}/access-policies",
217            local_var_configuration.base_path,
218            secretId = secret_id
219        );
220        let mut local_var_req_builder =
221            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
222
223        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
224
225        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
226    }
227
228    async fn get_service_account_granted_policies<'a>(
229        &self,
230        id: uuid::Uuid,
231    ) -> Result<models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel, Error> {
232        let local_var_configuration = &self.configuration;
233
234        let local_var_client = &local_var_configuration.client;
235
236        let local_var_uri_str = format!(
237            "{}/service-accounts/{id}/granted-policies",
238            local_var_configuration.base_path,
239            id = id
240        );
241        let mut local_var_req_builder =
242            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
243
244        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
245
246        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
247    }
248
249    async fn get_service_account_people_access_policies<'a>(
250        &self,
251        id: uuid::Uuid,
252    ) -> Result<models::ServiceAccountPeopleAccessPoliciesResponseModel, Error> {
253        let local_var_configuration = &self.configuration;
254
255        let local_var_client = &local_var_configuration.client;
256
257        let local_var_uri_str = format!(
258            "{}/service-accounts/{id}/access-policies/people",
259            local_var_configuration.base_path,
260            id = id
261        );
262        let mut local_var_req_builder =
263            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
264
265        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
266
267        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
268    }
269
270    async fn get_service_accounts_potential_grantees<'a>(
271        &self,
272        id: uuid::Uuid,
273    ) -> Result<models::PotentialGranteeResponseModelListResponseModel, Error> {
274        let local_var_configuration = &self.configuration;
275
276        let local_var_client = &local_var_configuration.client;
277
278        let local_var_uri_str = format!(
279            "{}/organizations/{id}/access-policies/service-accounts/potential-grantees",
280            local_var_configuration.base_path,
281            id = id
282        );
283        let mut local_var_req_builder =
284            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
285
286        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
287
288        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
289    }
290
291    async fn put_project_people_access_policies<'a>(
292        &self,
293        id: uuid::Uuid,
294        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
295    ) -> Result<models::ProjectPeopleAccessPoliciesResponseModel, Error> {
296        let local_var_configuration = &self.configuration;
297
298        let local_var_client = &local_var_configuration.client;
299
300        let local_var_uri_str = format!(
301            "{}/projects/{id}/access-policies/people",
302            local_var_configuration.base_path,
303            id = id
304        );
305        let mut local_var_req_builder =
306            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
307
308        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
309        local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
310
311        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
312    }
313
314    async fn put_project_service_accounts_access_policies<'a>(
315        &self,
316        id: uuid::Uuid,
317        project_service_accounts_access_policies_request_model: Option<
318            models::ProjectServiceAccountsAccessPoliciesRequestModel,
319        >,
320    ) -> Result<models::ProjectServiceAccountsAccessPoliciesResponseModel, Error> {
321        let local_var_configuration = &self.configuration;
322
323        let local_var_client = &local_var_configuration.client;
324
325        let local_var_uri_str = format!(
326            "{}/projects/{id}/access-policies/service-accounts",
327            local_var_configuration.base_path,
328            id = id
329        );
330        let mut local_var_req_builder =
331            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
332
333        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
334        local_var_req_builder =
335            local_var_req_builder.json(&project_service_accounts_access_policies_request_model);
336
337        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
338    }
339
340    async fn put_service_account_granted_policies<'a>(
341        &self,
342        id: uuid::Uuid,
343        service_account_granted_policies_request_model: Option<
344            models::ServiceAccountGrantedPoliciesRequestModel,
345        >,
346    ) -> Result<models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel, Error> {
347        let local_var_configuration = &self.configuration;
348
349        let local_var_client = &local_var_configuration.client;
350
351        let local_var_uri_str = format!(
352            "{}/service-accounts/{id}/granted-policies",
353            local_var_configuration.base_path,
354            id = id
355        );
356        let mut local_var_req_builder =
357            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
358
359        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
360        local_var_req_builder =
361            local_var_req_builder.json(&service_account_granted_policies_request_model);
362
363        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
364    }
365
366    async fn put_service_account_people_access_policies<'a>(
367        &self,
368        id: uuid::Uuid,
369        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
370    ) -> Result<models::ServiceAccountPeopleAccessPoliciesResponseModel, Error> {
371        let local_var_configuration = &self.configuration;
372
373        let local_var_client = &local_var_configuration.client;
374
375        let local_var_uri_str = format!(
376            "{}/service-accounts/{id}/access-policies/people",
377            local_var_configuration.base_path,
378            id = id
379        );
380        let mut local_var_req_builder =
381            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
382
383        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
384        local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
385
386        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
387    }
388}