bitwarden_api_api/apis/
access_rules_api.rs1use 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 async fn delete<'a>(&self, org_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error>;
31
32 async fn get<'a>(
34 &self,
35 org_id: uuid::Uuid,
36 id: uuid::Uuid,
37 ) -> Result<models::AccessRuleResponseModel, Error>;
38
39 async fn get_all<'a>(
41 &self,
42 org_id: uuid::Uuid,
43 ) -> Result<models::AccessRuleResponseModelListResponseModel, Error>;
44
45 async fn get_bypassable_ciphers<'a>(
47 &self,
48 org_id: uuid::Uuid,
49 id: uuid::Uuid,
50 ) -> Result<models::RuleBypassableCiphersResponseModel, Error>;
51
52 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 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}