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<
34        models::PotentialGranteeResponseModelListResponseModel,
35        Error<GetPeoplePotentialGranteesError>,
36    >;
37
38    /// GET /projects/{id}/access-policies/people
39    async fn get_project_people_access_policies<'a>(
40        &self,
41        id: uuid::Uuid,
42    ) -> Result<
43        models::ProjectPeopleAccessPoliciesResponseModel,
44        Error<GetProjectPeopleAccessPoliciesError>,
45    >;
46
47    /// GET /organizations/{id}/access-policies/projects/potential-grantees
48    async fn get_project_potential_grantees<'a>(
49        &self,
50        id: uuid::Uuid,
51    ) -> Result<
52        models::PotentialGranteeResponseModelListResponseModel,
53        Error<GetProjectPotentialGranteesError>,
54    >;
55
56    /// GET /projects/{id}/access-policies/service-accounts
57    async fn get_project_service_accounts_access_policies<'a>(
58        &self,
59        id: uuid::Uuid,
60    ) -> Result<
61        models::ProjectServiceAccountsAccessPoliciesResponseModel,
62        Error<GetProjectServiceAccountsAccessPoliciesError>,
63    >;
64
65    /// GET /secrets/{secretId}/access-policies
66    async fn get_secret_access_policies<'a>(
67        &self,
68        secret_id: uuid::Uuid,
69    ) -> Result<models::SecretAccessPoliciesResponseModel, Error<GetSecretAccessPoliciesError>>;
70
71    /// GET /service-accounts/{id}/granted-policies
72    async fn get_service_account_granted_policies<'a>(
73        &self,
74        id: uuid::Uuid,
75    ) -> Result<
76        models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
77        Error<GetServiceAccountGrantedPoliciesError>,
78    >;
79
80    /// GET /service-accounts/{id}/access-policies/people
81    async fn get_service_account_people_access_policies<'a>(
82        &self,
83        id: uuid::Uuid,
84    ) -> Result<
85        models::ServiceAccountPeopleAccessPoliciesResponseModel,
86        Error<GetServiceAccountPeopleAccessPoliciesError>,
87    >;
88
89    /// GET /organizations/{id}/access-policies/service-accounts/potential-grantees
90    async fn get_service_accounts_potential_grantees<'a>(
91        &self,
92        id: uuid::Uuid,
93    ) -> Result<
94        models::PotentialGranteeResponseModelListResponseModel,
95        Error<GetServiceAccountsPotentialGranteesError>,
96    >;
97
98    /// PUT /projects/{id}/access-policies/people
99    async fn put_project_people_access_policies<'a>(
100        &self,
101        id: uuid::Uuid,
102        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
103    ) -> Result<
104        models::ProjectPeopleAccessPoliciesResponseModel,
105        Error<PutProjectPeopleAccessPoliciesError>,
106    >;
107
108    /// PUT /projects/{id}/access-policies/service-accounts
109    async fn put_project_service_accounts_access_policies<'a>(
110        &self,
111        id: uuid::Uuid,
112        project_service_accounts_access_policies_request_model: Option<
113            models::ProjectServiceAccountsAccessPoliciesRequestModel,
114        >,
115    ) -> Result<
116        models::ProjectServiceAccountsAccessPoliciesResponseModel,
117        Error<PutProjectServiceAccountsAccessPoliciesError>,
118    >;
119
120    /// PUT /service-accounts/{id}/granted-policies
121    async fn put_service_account_granted_policies<'a>(
122        &self,
123        id: uuid::Uuid,
124        service_account_granted_policies_request_model: Option<
125            models::ServiceAccountGrantedPoliciesRequestModel,
126        >,
127    ) -> Result<
128        models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
129        Error<PutServiceAccountGrantedPoliciesError>,
130    >;
131
132    /// PUT /service-accounts/{id}/access-policies/people
133    async fn put_service_account_people_access_policies<'a>(
134        &self,
135        id: uuid::Uuid,
136        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
137    ) -> Result<
138        models::ServiceAccountPeopleAccessPoliciesResponseModel,
139        Error<PutServiceAccountPeopleAccessPoliciesError>,
140    >;
141}
142
143pub struct AccessPoliciesApiClient {
144    configuration: Arc<configuration::Configuration>,
145}
146
147impl AccessPoliciesApiClient {
148    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
149        Self { configuration }
150    }
151}
152
153#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
154#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
155impl AccessPoliciesApi for AccessPoliciesApiClient {
156    async fn get_people_potential_grantees<'a>(
157        &self,
158        id: uuid::Uuid,
159    ) -> Result<
160        models::PotentialGranteeResponseModelListResponseModel,
161        Error<GetPeoplePotentialGranteesError>,
162    > {
163        let local_var_configuration = &self.configuration;
164
165        let local_var_client = &local_var_configuration.client;
166
167        let local_var_uri_str = format!(
168            "{}/organizations/{id}/access-policies/people/potential-grantees",
169            local_var_configuration.base_path,
170            id = id
171        );
172        let mut local_var_req_builder =
173            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
174
175        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
176
177        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
178    }
179
180    async fn get_project_people_access_policies<'a>(
181        &self,
182        id: uuid::Uuid,
183    ) -> Result<
184        models::ProjectPeopleAccessPoliciesResponseModel,
185        Error<GetProjectPeopleAccessPoliciesError>,
186    > {
187        let local_var_configuration = &self.configuration;
188
189        let local_var_client = &local_var_configuration.client;
190
191        let local_var_uri_str = format!(
192            "{}/projects/{id}/access-policies/people",
193            local_var_configuration.base_path,
194            id = id
195        );
196        let mut local_var_req_builder =
197            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
198
199        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
200
201        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
202    }
203
204    async fn get_project_potential_grantees<'a>(
205        &self,
206        id: uuid::Uuid,
207    ) -> Result<
208        models::PotentialGranteeResponseModelListResponseModel,
209        Error<GetProjectPotentialGranteesError>,
210    > {
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            "{}/organizations/{id}/access-policies/projects/potential-grantees",
217            local_var_configuration.base_path,
218            id = 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_project_service_accounts_access_policies<'a>(
229        &self,
230        id: uuid::Uuid,
231    ) -> Result<
232        models::ProjectServiceAccountsAccessPoliciesResponseModel,
233        Error<GetProjectServiceAccountsAccessPoliciesError>,
234    > {
235        let local_var_configuration = &self.configuration;
236
237        let local_var_client = &local_var_configuration.client;
238
239        let local_var_uri_str = format!(
240            "{}/projects/{id}/access-policies/service-accounts",
241            local_var_configuration.base_path,
242            id = id
243        );
244        let mut local_var_req_builder =
245            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
246
247        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
248
249        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
250    }
251
252    async fn get_secret_access_policies<'a>(
253        &self,
254        secret_id: uuid::Uuid,
255    ) -> Result<models::SecretAccessPoliciesResponseModel, Error<GetSecretAccessPoliciesError>>
256    {
257        let local_var_configuration = &self.configuration;
258
259        let local_var_client = &local_var_configuration.client;
260
261        let local_var_uri_str = format!(
262            "{}/secrets/{secretId}/access-policies",
263            local_var_configuration.base_path,
264            secretId = secret_id
265        );
266        let mut local_var_req_builder =
267            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
268
269        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
270
271        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
272    }
273
274    async fn get_service_account_granted_policies<'a>(
275        &self,
276        id: uuid::Uuid,
277    ) -> Result<
278        models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
279        Error<GetServiceAccountGrantedPoliciesError>,
280    > {
281        let local_var_configuration = &self.configuration;
282
283        let local_var_client = &local_var_configuration.client;
284
285        let local_var_uri_str = format!(
286            "{}/service-accounts/{id}/granted-policies",
287            local_var_configuration.base_path,
288            id = id
289        );
290        let mut local_var_req_builder =
291            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
292
293        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
294
295        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
296    }
297
298    async fn get_service_account_people_access_policies<'a>(
299        &self,
300        id: uuid::Uuid,
301    ) -> Result<
302        models::ServiceAccountPeopleAccessPoliciesResponseModel,
303        Error<GetServiceAccountPeopleAccessPoliciesError>,
304    > {
305        let local_var_configuration = &self.configuration;
306
307        let local_var_client = &local_var_configuration.client;
308
309        let local_var_uri_str = format!(
310            "{}/service-accounts/{id}/access-policies/people",
311            local_var_configuration.base_path,
312            id = id
313        );
314        let mut local_var_req_builder =
315            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
316
317        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
318
319        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
320    }
321
322    async fn get_service_accounts_potential_grantees<'a>(
323        &self,
324        id: uuid::Uuid,
325    ) -> Result<
326        models::PotentialGranteeResponseModelListResponseModel,
327        Error<GetServiceAccountsPotentialGranteesError>,
328    > {
329        let local_var_configuration = &self.configuration;
330
331        let local_var_client = &local_var_configuration.client;
332
333        let local_var_uri_str = format!(
334            "{}/organizations/{id}/access-policies/service-accounts/potential-grantees",
335            local_var_configuration.base_path,
336            id = id
337        );
338        let mut local_var_req_builder =
339            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
340
341        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
342
343        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
344    }
345
346    async fn put_project_people_access_policies<'a>(
347        &self,
348        id: uuid::Uuid,
349        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
350    ) -> Result<
351        models::ProjectPeopleAccessPoliciesResponseModel,
352        Error<PutProjectPeopleAccessPoliciesError>,
353    > {
354        let local_var_configuration = &self.configuration;
355
356        let local_var_client = &local_var_configuration.client;
357
358        let local_var_uri_str = format!(
359            "{}/projects/{id}/access-policies/people",
360            local_var_configuration.base_path,
361            id = id
362        );
363        let mut local_var_req_builder =
364            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
365
366        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
367        local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
368
369        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
370    }
371
372    async fn put_project_service_accounts_access_policies<'a>(
373        &self,
374        id: uuid::Uuid,
375        project_service_accounts_access_policies_request_model: Option<
376            models::ProjectServiceAccountsAccessPoliciesRequestModel,
377        >,
378    ) -> Result<
379        models::ProjectServiceAccountsAccessPoliciesResponseModel,
380        Error<PutProjectServiceAccountsAccessPoliciesError>,
381    > {
382        let local_var_configuration = &self.configuration;
383
384        let local_var_client = &local_var_configuration.client;
385
386        let local_var_uri_str = format!(
387            "{}/projects/{id}/access-policies/service-accounts",
388            local_var_configuration.base_path,
389            id = id
390        );
391        let mut local_var_req_builder =
392            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
393
394        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
395        local_var_req_builder =
396            local_var_req_builder.json(&project_service_accounts_access_policies_request_model);
397
398        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
399    }
400
401    async fn put_service_account_granted_policies<'a>(
402        &self,
403        id: uuid::Uuid,
404        service_account_granted_policies_request_model: Option<
405            models::ServiceAccountGrantedPoliciesRequestModel,
406        >,
407    ) -> Result<
408        models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
409        Error<PutServiceAccountGrantedPoliciesError>,
410    > {
411        let local_var_configuration = &self.configuration;
412
413        let local_var_client = &local_var_configuration.client;
414
415        let local_var_uri_str = format!(
416            "{}/service-accounts/{id}/granted-policies",
417            local_var_configuration.base_path,
418            id = id
419        );
420        let mut local_var_req_builder =
421            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
422
423        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
424        local_var_req_builder =
425            local_var_req_builder.json(&service_account_granted_policies_request_model);
426
427        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
428    }
429
430    async fn put_service_account_people_access_policies<'a>(
431        &self,
432        id: uuid::Uuid,
433        people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
434    ) -> Result<
435        models::ServiceAccountPeopleAccessPoliciesResponseModel,
436        Error<PutServiceAccountPeopleAccessPoliciesError>,
437    > {
438        let local_var_configuration = &self.configuration;
439
440        let local_var_client = &local_var_configuration.client;
441
442        let local_var_uri_str = format!(
443            "{}/service-accounts/{id}/access-policies/people",
444            local_var_configuration.base_path,
445            id = id
446        );
447        let mut local_var_req_builder =
448            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
449
450        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
451        local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
452
453        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
454    }
455}
456
457/// struct for typed errors of method [`AccessPoliciesApi::get_people_potential_grantees`]
458#[derive(Debug, Clone, Serialize, Deserialize)]
459#[serde(untagged)]
460pub enum GetPeoplePotentialGranteesError {
461    UnknownValue(serde_json::Value),
462}
463/// struct for typed errors of method [`AccessPoliciesApi::get_project_people_access_policies`]
464#[derive(Debug, Clone, Serialize, Deserialize)]
465#[serde(untagged)]
466pub enum GetProjectPeopleAccessPoliciesError {
467    UnknownValue(serde_json::Value),
468}
469/// struct for typed errors of method [`AccessPoliciesApi::get_project_potential_grantees`]
470#[derive(Debug, Clone, Serialize, Deserialize)]
471#[serde(untagged)]
472pub enum GetProjectPotentialGranteesError {
473    UnknownValue(serde_json::Value),
474}
475/// struct for typed errors of method
476/// [`AccessPoliciesApi::get_project_service_accounts_access_policies`]
477#[derive(Debug, Clone, Serialize, Deserialize)]
478#[serde(untagged)]
479pub enum GetProjectServiceAccountsAccessPoliciesError {
480    UnknownValue(serde_json::Value),
481}
482/// struct for typed errors of method [`AccessPoliciesApi::get_secret_access_policies`]
483#[derive(Debug, Clone, Serialize, Deserialize)]
484#[serde(untagged)]
485pub enum GetSecretAccessPoliciesError {
486    UnknownValue(serde_json::Value),
487}
488/// struct for typed errors of method [`AccessPoliciesApi::get_service_account_granted_policies`]
489#[derive(Debug, Clone, Serialize, Deserialize)]
490#[serde(untagged)]
491pub enum GetServiceAccountGrantedPoliciesError {
492    UnknownValue(serde_json::Value),
493}
494/// struct for typed errors of method
495/// [`AccessPoliciesApi::get_service_account_people_access_policies`]
496#[derive(Debug, Clone, Serialize, Deserialize)]
497#[serde(untagged)]
498pub enum GetServiceAccountPeopleAccessPoliciesError {
499    UnknownValue(serde_json::Value),
500}
501/// struct for typed errors of method [`AccessPoliciesApi::get_service_accounts_potential_grantees`]
502#[derive(Debug, Clone, Serialize, Deserialize)]
503#[serde(untagged)]
504pub enum GetServiceAccountsPotentialGranteesError {
505    UnknownValue(serde_json::Value),
506}
507/// struct for typed errors of method [`AccessPoliciesApi::put_project_people_access_policies`]
508#[derive(Debug, Clone, Serialize, Deserialize)]
509#[serde(untagged)]
510pub enum PutProjectPeopleAccessPoliciesError {
511    UnknownValue(serde_json::Value),
512}
513/// struct for typed errors of method
514/// [`AccessPoliciesApi::put_project_service_accounts_access_policies`]
515#[derive(Debug, Clone, Serialize, Deserialize)]
516#[serde(untagged)]
517pub enum PutProjectServiceAccountsAccessPoliciesError {
518    UnknownValue(serde_json::Value),
519}
520/// struct for typed errors of method [`AccessPoliciesApi::put_service_account_granted_policies`]
521#[derive(Debug, Clone, Serialize, Deserialize)]
522#[serde(untagged)]
523pub enum PutServiceAccountGrantedPoliciesError {
524    UnknownValue(serde_json::Value),
525}
526/// struct for typed errors of method
527/// [`AccessPoliciesApi::put_service_account_people_access_policies`]
528#[derive(Debug, Clone, Serialize, Deserialize)]
529#[serde(untagged)]
530pub enum PutServiceAccountPeopleAccessPoliciesError {
531    UnknownValue(serde_json::Value),
532}