Skip to main content

bitwarden_api_api/apis/
access_rules_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 AccessRulesApi: Send + Sync {
29    /// DELETE /organizations/{orgId}/access-rules/{id}
30    async fn delete<'a>(&self, org_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error>;
31
32    /// GET /organizations/{orgId}/access-rules/{id}
33    async fn get<'a>(
34        &self,
35        org_id: uuid::Uuid,
36        id: uuid::Uuid,
37    ) -> Result<models::AccessRuleResponseModel, Error>;
38
39    /// GET /organizations/{orgId}/access-rules
40    async fn get_all<'a>(
41        &self,
42        org_id: uuid::Uuid,
43    ) -> Result<models::AccessRuleResponseModelListResponseModel, Error>;
44
45    /// GET /organizations/{orgId}/access-rules/{id}/bypassable-ciphers
46    async fn get_bypassable_ciphers<'a>(
47        &self,
48        org_id: uuid::Uuid,
49        id: uuid::Uuid,
50    ) -> Result<models::RuleBypassableCiphersResponseModel, Error>;
51
52    /// POST /organizations/{orgId}/access-rules
53    async fn post<'a>(
54        &self,
55        org_id: uuid::Uuid,
56        access_rule_request_model: models::AccessRuleRequestModel,
57    ) -> Result<models::AccessRuleResponseModel, Error>;
58
59    /// PUT /organizations/{orgId}/access-rules/{id}
60    async fn put<'a>(
61        &self,
62        org_id: uuid::Uuid,
63        id: uuid::Uuid,
64        access_rule_request_model: models::AccessRuleRequestModel,
65    ) -> Result<models::AccessRuleResponseModel, Error>;
66}
67
68pub struct AccessRulesApiClient {
69    configuration: Arc<configuration::Configuration>,
70}
71
72impl AccessRulesApiClient {
73    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
74        Self { configuration }
75    }
76}
77
78#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
79#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
80impl AccessRulesApi for AccessRulesApiClient {
81    async fn delete<'a>(&self, org_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), 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            "{}/organizations/{orgId}/access-rules/{id}",
88            local_var_configuration.base_path,
89            orgId = org_id,
90            id = id
91        );
92        let mut local_var_req_builder =
93            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
94
95        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
96
97        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
98    }
99
100    async fn get<'a>(
101        &self,
102        org_id: uuid::Uuid,
103        id: uuid::Uuid,
104    ) -> Result<models::AccessRuleResponseModel, Error> {
105        let local_var_configuration = &self.configuration;
106
107        let local_var_client = &local_var_configuration.client;
108
109        let local_var_uri_str = format!(
110            "{}/organizations/{orgId}/access-rules/{id}",
111            local_var_configuration.base_path,
112            orgId = org_id,
113            id = id
114        );
115        let mut local_var_req_builder =
116            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
117
118        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
119
120        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
121    }
122
123    async fn get_all<'a>(
124        &self,
125        org_id: uuid::Uuid,
126    ) -> Result<models::AccessRuleResponseModelListResponseModel, 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/{orgId}/access-rules",
133            local_var_configuration.base_path,
134            orgId = org_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_bypassable_ciphers<'a>(
145        &self,
146        org_id: uuid::Uuid,
147        id: uuid::Uuid,
148    ) -> Result<models::RuleBypassableCiphersResponseModel, Error> {
149        let local_var_configuration = &self.configuration;
150
151        let local_var_client = &local_var_configuration.client;
152
153        let local_var_uri_str = format!(
154            "{}/organizations/{orgId}/access-rules/{id}/bypassable-ciphers",
155            local_var_configuration.base_path,
156            orgId = org_id,
157            id = id
158        );
159        let mut local_var_req_builder =
160            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
161
162        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
163
164        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
165    }
166
167    async fn post<'a>(
168        &self,
169        org_id: uuid::Uuid,
170        access_rule_request_model: models::AccessRuleRequestModel,
171    ) -> Result<models::AccessRuleResponseModel, Error> {
172        let local_var_configuration = &self.configuration;
173
174        let local_var_client = &local_var_configuration.client;
175
176        let local_var_uri_str = format!(
177            "{}/organizations/{orgId}/access-rules",
178            local_var_configuration.base_path,
179            orgId = org_id
180        );
181        let mut local_var_req_builder =
182            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
183
184        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
185        local_var_req_builder = local_var_req_builder.json(&access_rule_request_model);
186
187        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
188    }
189
190    async fn put<'a>(
191        &self,
192        org_id: uuid::Uuid,
193        id: uuid::Uuid,
194        access_rule_request_model: models::AccessRuleRequestModel,
195    ) -> Result<models::AccessRuleResponseModel, Error> {
196        let local_var_configuration = &self.configuration;
197
198        let local_var_client = &local_var_configuration.client;
199
200        let local_var_uri_str = format!(
201            "{}/organizations/{orgId}/access-rules/{id}",
202            local_var_configuration.base_path,
203            orgId = org_id,
204            id = id
205        );
206        let mut local_var_req_builder =
207            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
208
209        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
210        local_var_req_builder = local_var_req_builder.json(&access_rule_request_model);
211
212        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
213    }
214}