1
2
3use reqwest;
4
5use crate::{apis::ResponseContent, models};
6use super::{Error, configuration};
7
8#[derive(Clone, Debug)]
10pub struct ApiControllerAddEnforcerParams {
11 pub enforcer: serde_json::Value
13}
14
15#[derive(Clone, Debug)]
17pub struct ApiControllerBatchEnforceParams {
18 pub body: Vec<String>,
20 pub permission_id: Option<String>,
22 pub model_id: Option<String>,
24 pub owner: Option<String>
26}
27
28#[derive(Clone, Debug)]
30pub struct ApiControllerDeleteEnforcerParams {
31 pub body: models::Enforcer
33}
34
35#[derive(Clone, Debug)]
37pub struct ApiControllerEnforceParams {
38 pub body: Vec<String>,
40 pub permission_id: Option<String>,
42 pub model_id: Option<String>,
44 pub resource_id: Option<String>,
46 pub owner: Option<String>
48}
49
50#[derive(Clone, Debug)]
52pub struct ApiControllerGetEnforcerParams {
53 pub id: String
55}
56
57#[derive(Clone, Debug)]
59pub struct ApiControllerGetEnforcersParams {
60 pub owner: String
62}
63
64#[derive(Clone, Debug)]
66pub struct ApiControllerUpdateEnforcerParams {
67 pub id: String,
69 pub enforcer: serde_json::Value
71}
72
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum ApiControllerAddEnforcerError {
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum ApiControllerBatchEnforceError {
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum ApiControllerDeleteEnforcerError {
92 UnknownValue(serde_json::Value),
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(untagged)]
98pub enum ApiControllerEnforceError {
99 UnknownValue(serde_json::Value),
100}
101
102#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum ApiControllerGetEnforcerError {
106 UnknownValue(serde_json::Value),
107}
108
109#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(untagged)]
112pub enum ApiControllerGetEnforcersError {
113 UnknownValue(serde_json::Value),
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum ApiControllerUpdateEnforcerError {
120 UnknownValue(serde_json::Value),
121}
122
123
124pub async fn add_enforcer(configuration: &configuration::Configuration, params: ApiControllerAddEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerAddEnforcerError>> {
126 let local_var_configuration = configuration;
127
128 let enforcer = params.enforcer;
130
131
132 let local_var_client = &local_var_configuration.client;
133
134 let local_var_uri_str = format!("{}/api/add-enforcer", local_var_configuration.base_path);
135 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
136
137 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
138 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
139 }
140 local_var_req_builder = local_var_req_builder.json(&enforcer);
141
142 let local_var_req = local_var_req_builder.build()?;
143 let local_var_resp = local_var_client.execute(local_var_req).await?;
144
145 let local_var_status = local_var_resp.status();
146 let local_var_content = local_var_resp.text().await?;
147
148 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
149 serde_json::from_str(&local_var_content).map_err(Error::from)
150 } else {
151 let local_var_entity: Option<ApiControllerAddEnforcerError> = serde_json::from_str(&local_var_content).ok();
152 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
153 Err(Error::ResponseError(local_var_error))
154 }
155}
156
157pub async fn batch_enforce(configuration: &configuration::Configuration, params: ApiControllerBatchEnforceParams) -> Result<models::ControllersResponse, Error<ApiControllerBatchEnforceError>> {
159 let local_var_configuration = configuration;
160
161 let body = params.body;
163 let permission_id = params.permission_id;
164 let model_id = params.model_id;
165 let owner = params.owner;
166
167
168 let local_var_client = &local_var_configuration.client;
169
170 let local_var_uri_str = format!("{}/api/batch-enforce", local_var_configuration.base_path);
171 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
172
173 if let Some(ref local_var_str) = permission_id {
174 local_var_req_builder = local_var_req_builder.query(&[("permissionId", &local_var_str.to_string())]);
175 }
176 if let Some(ref local_var_str) = model_id {
177 local_var_req_builder = local_var_req_builder.query(&[("modelId", &local_var_str.to_string())]);
178 }
179 if let Some(ref local_var_str) = owner {
180 local_var_req_builder = local_var_req_builder.query(&[("owner", &local_var_str.to_string())]);
181 }
182 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
183 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
184 }
185 local_var_req_builder = local_var_req_builder.json(&body);
186
187 let local_var_req = local_var_req_builder.build()?;
188 let local_var_resp = local_var_client.execute(local_var_req).await?;
189
190 let local_var_status = local_var_resp.status();
191 let local_var_content = local_var_resp.text().await?;
192
193 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
194 serde_json::from_str(&local_var_content).map_err(Error::from)
195 } else {
196 let local_var_entity: Option<ApiControllerBatchEnforceError> = serde_json::from_str(&local_var_content).ok();
197 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
198 Err(Error::ResponseError(local_var_error))
199 }
200}
201
202pub async fn delete_enforcer(configuration: &configuration::Configuration, params: ApiControllerDeleteEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerDeleteEnforcerError>> {
204 let local_var_configuration = configuration;
205
206 let body = params.body;
208
209
210 let local_var_client = &local_var_configuration.client;
211
212 let local_var_uri_str = format!("{}/api/delete-enforcer", local_var_configuration.base_path);
213 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
214
215 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
216 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
217 }
218 local_var_req_builder = local_var_req_builder.json(&body);
219
220 let local_var_req = local_var_req_builder.build()?;
221 let local_var_resp = local_var_client.execute(local_var_req).await?;
222
223 let local_var_status = local_var_resp.status();
224 let local_var_content = local_var_resp.text().await?;
225
226 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
227 serde_json::from_str(&local_var_content).map_err(Error::from)
228 } else {
229 let local_var_entity: Option<ApiControllerDeleteEnforcerError> = serde_json::from_str(&local_var_content).ok();
230 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
231 Err(Error::ResponseError(local_var_error))
232 }
233}
234
235pub async fn enforce(configuration: &configuration::Configuration, params: ApiControllerEnforceParams) -> Result<models::ControllersResponse, Error<ApiControllerEnforceError>> {
237 let local_var_configuration = configuration;
238
239 let body = params.body;
241 let permission_id = params.permission_id;
242 let model_id = params.model_id;
243 let resource_id = params.resource_id;
244 let owner = params.owner;
245
246
247 let local_var_client = &local_var_configuration.client;
248
249 let local_var_uri_str = format!("{}/api/enforce", local_var_configuration.base_path);
250 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
251
252 if let Some(ref local_var_str) = permission_id {
253 local_var_req_builder = local_var_req_builder.query(&[("permissionId", &local_var_str.to_string())]);
254 }
255 if let Some(ref local_var_str) = model_id {
256 local_var_req_builder = local_var_req_builder.query(&[("modelId", &local_var_str.to_string())]);
257 }
258 if let Some(ref local_var_str) = resource_id {
259 local_var_req_builder = local_var_req_builder.query(&[("resourceId", &local_var_str.to_string())]);
260 }
261 if let Some(ref local_var_str) = owner {
262 local_var_req_builder = local_var_req_builder.query(&[("owner", &local_var_str.to_string())]);
263 }
264 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
265 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
266 }
267 local_var_req_builder = local_var_req_builder.json(&body);
268
269 let local_var_req = local_var_req_builder.build()?;
270 let local_var_resp = local_var_client.execute(local_var_req).await?;
271
272 let local_var_status = local_var_resp.status();
273 let local_var_content = local_var_resp.text().await?;
274
275 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
276 serde_json::from_str(&local_var_content).map_err(Error::from)
277 } else {
278 let local_var_entity: Option<ApiControllerEnforceError> = serde_json::from_str(&local_var_content).ok();
279 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
280 Err(Error::ResponseError(local_var_error))
281 }
282}
283
284pub async fn get_enforcer(configuration: &configuration::Configuration, params: ApiControllerGetEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerGetEnforcerError>> {
286 let local_var_configuration = configuration;
287
288 let id = params.id;
290
291
292 let local_var_client = &local_var_configuration.client;
293
294 let local_var_uri_str = format!("{}/api/get-enforcer", local_var_configuration.base_path);
295 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
296
297 local_var_req_builder = local_var_req_builder.query(&[("id", &id.to_string())]);
298 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
299 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
300 }
301
302 let local_var_req = local_var_req_builder.build()?;
303 let local_var_resp = local_var_client.execute(local_var_req).await?;
304
305 let local_var_status = local_var_resp.status();
306 let local_var_content = local_var_resp.text().await?;
307
308 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
309 serde_json::from_str(&local_var_content).map_err(Error::from)
310 } else {
311 let local_var_entity: Option<ApiControllerGetEnforcerError> = serde_json::from_str(&local_var_content).ok();
312 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
313 Err(Error::ResponseError(local_var_error))
314 }
315}
316
317pub async fn get_enforcers(configuration: &configuration::Configuration, params: ApiControllerGetEnforcersParams) -> Result<Vec<models::Enforcer>, Error<ApiControllerGetEnforcersError>> {
319 let local_var_configuration = configuration;
320
321 let owner = params.owner;
323
324
325 let local_var_client = &local_var_configuration.client;
326
327 let local_var_uri_str = format!("{}/api/get-enforcers", local_var_configuration.base_path);
328 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
329
330 local_var_req_builder = local_var_req_builder.query(&[("owner", &owner.to_string())]);
331 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
332 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
333 }
334
335 let local_var_req = local_var_req_builder.build()?;
336 let local_var_resp = local_var_client.execute(local_var_req).await?;
337
338 let local_var_status = local_var_resp.status();
339 let local_var_content = local_var_resp.text().await?;
340
341 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
342 serde_json::from_str(&local_var_content).map_err(Error::from)
343 } else {
344 let local_var_entity: Option<ApiControllerGetEnforcersError> = serde_json::from_str(&local_var_content).ok();
345 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
346 Err(Error::ResponseError(local_var_error))
347 }
348}
349
350pub async fn update_enforcer(configuration: &configuration::Configuration, params: ApiControllerUpdateEnforcerParams) -> Result<models::Enforcer, Error<ApiControllerUpdateEnforcerError>> {
352 let local_var_configuration = configuration;
353
354 let id = params.id;
356 let enforcer = params.enforcer;
357
358
359 let local_var_client = &local_var_configuration.client;
360
361 let local_var_uri_str = format!("{}/api/update-enforcer", local_var_configuration.base_path);
362 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
363
364 local_var_req_builder = local_var_req_builder.query(&[("id", &id.to_string())]);
365 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
366 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
367 }
368 local_var_req_builder = local_var_req_builder.json(&enforcer);
369
370 let local_var_req = local_var_req_builder.build()?;
371 let local_var_resp = local_var_client.execute(local_var_req).await?;
372
373 let local_var_status = local_var_resp.status();
374 let local_var_content = local_var_resp.text().await?;
375
376 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
377 serde_json::from_str(&local_var_content).map_err(Error::from)
378 } else {
379 let local_var_entity: Option<ApiControllerUpdateEnforcerError> = serde_json::from_str(&local_var_content).ok();
380 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
381 Err(Error::ResponseError(local_var_error))
382 }
383}
384