1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum RbacPermissionsAssignedByRolesAssignCreateError {
22 Status400(models::ValidationError),
23 Status403(models::GenericError),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum RbacPermissionsAssignedByRolesListError {
31 Status400(models::ValidationError),
32 Status403(models::GenericError),
33 UnknownValue(serde_json::Value),
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum RbacPermissionsAssignedByRolesUnassignPartialUpdateError {
40 Status400(models::ValidationError),
41 Status403(models::GenericError),
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum RbacPermissionsAssignedByUsersAssignCreateError {
49 Status400(models::ValidationError),
50 Status403(models::GenericError),
51 UnknownValue(serde_json::Value),
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum RbacPermissionsAssignedByUsersListError {
58 Status400(models::ValidationError),
59 Status403(models::GenericError),
60 UnknownValue(serde_json::Value),
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum RbacPermissionsAssignedByUsersUnassignPartialUpdateError {
67 Status400(models::ValidationError),
68 Status403(models::GenericError),
69 UnknownValue(serde_json::Value),
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(untagged)]
75pub enum RbacPermissionsListError {
76 Status400(models::ValidationError),
77 Status403(models::GenericError),
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum RbacPermissionsRetrieveError {
85 Status400(models::ValidationError),
86 Status403(models::GenericError),
87 UnknownValue(serde_json::Value),
88}
89
90#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum RbacPermissionsRolesListError {
94 Status400(models::ValidationError),
95 Status403(models::GenericError),
96 UnknownValue(serde_json::Value),
97}
98
99#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum RbacPermissionsUsersListError {
103 Status400(models::ValidationError),
104 Status403(models::GenericError),
105 UnknownValue(serde_json::Value),
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(untagged)]
111pub enum RbacRolesCreateError {
112 Status400(models::ValidationError),
113 Status403(models::GenericError),
114 UnknownValue(serde_json::Value),
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize)]
119#[serde(untagged)]
120pub enum RbacRolesDestroyError {
121 Status400(models::ValidationError),
122 Status403(models::GenericError),
123 UnknownValue(serde_json::Value),
124}
125
126#[derive(Debug, Clone, Serialize, Deserialize)]
128#[serde(untagged)]
129pub enum RbacRolesListError {
130 Status400(models::ValidationError),
131 Status403(models::GenericError),
132 UnknownValue(serde_json::Value),
133}
134
135#[derive(Debug, Clone, Serialize, Deserialize)]
137#[serde(untagged)]
138pub enum RbacRolesPartialUpdateError {
139 Status400(models::ValidationError),
140 Status403(models::GenericError),
141 UnknownValue(serde_json::Value),
142}
143
144#[derive(Debug, Clone, Serialize, Deserialize)]
146#[serde(untagged)]
147pub enum RbacRolesRetrieveError {
148 Status400(models::ValidationError),
149 Status403(models::GenericError),
150 UnknownValue(serde_json::Value),
151}
152
153#[derive(Debug, Clone, Serialize, Deserialize)]
155#[serde(untagged)]
156pub enum RbacRolesUpdateError {
157 Status400(models::ValidationError),
158 Status403(models::GenericError),
159 UnknownValue(serde_json::Value),
160}
161
162#[derive(Debug, Clone, Serialize, Deserialize)]
164#[serde(untagged)]
165pub enum RbacRolesUsedByListError {
166 Status400(models::ValidationError),
167 Status403(models::GenericError),
168 UnknownValue(serde_json::Value),
169}
170
171
172pub async fn rbac_permissions_assigned_by_roles_assign_create(configuration: &configuration::Configuration, uuid: &str, permission_assign_request: models::PermissionAssignRequest) -> Result<(), Error<RbacPermissionsAssignedByRolesAssignCreateError>> {
174 let local_var_configuration = configuration;
175
176 let local_var_client = &local_var_configuration.client;
177
178 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_roles/{uuid}/assign/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
179 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
180
181 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
182 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
183 }
184 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
185 let local_var_key = local_var_apikey.key.clone();
186 let local_var_value = match local_var_apikey.prefix {
187 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
188 None => local_var_key,
189 };
190 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
191 };
192 local_var_req_builder = local_var_req_builder.json(&permission_assign_request);
193
194 let local_var_req = local_var_req_builder.build()?;
195 let local_var_resp = local_var_client.execute(local_var_req).await?;
196
197 let local_var_status = local_var_resp.status();
198 let local_var_content = local_var_resp.text().await?;
199
200 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
201 Ok(())
202 } else {
203 let local_var_entity: Option<RbacPermissionsAssignedByRolesAssignCreateError> = serde_json::from_str(&local_var_content).ok();
204 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
205 Err(Error::ResponseError(local_var_error))
206 }
207}
208
209pub async fn rbac_permissions_assigned_by_roles_list(configuration: &configuration::Configuration, model: &str, object_pk: Option<&str>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>) -> Result<models::PaginatedRoleAssignedObjectPermissionList, Error<RbacPermissionsAssignedByRolesListError>> {
211 let local_var_configuration = configuration;
212
213 let local_var_client = &local_var_configuration.client;
214
215 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_roles/", local_var_configuration.base_path);
216 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
217
218 local_var_req_builder = local_var_req_builder.query(&[("model", &model.to_string())]);
219 if let Some(ref local_var_str) = object_pk {
220 local_var_req_builder = local_var_req_builder.query(&[("object_pk", &local_var_str.to_string())]);
221 }
222 if let Some(ref local_var_str) = ordering {
223 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
224 }
225 if let Some(ref local_var_str) = page {
226 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
227 }
228 if let Some(ref local_var_str) = page_size {
229 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
230 }
231 if let Some(ref local_var_str) = search {
232 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
233 }
234 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
235 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
236 }
237 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
238 let local_var_key = local_var_apikey.key.clone();
239 let local_var_value = match local_var_apikey.prefix {
240 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
241 None => local_var_key,
242 };
243 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
244 };
245
246 let local_var_req = local_var_req_builder.build()?;
247 let local_var_resp = local_var_client.execute(local_var_req).await?;
248
249 let local_var_status = local_var_resp.status();
250 let local_var_content = local_var_resp.text().await?;
251
252 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
253 serde_json::from_str(&local_var_content).map_err(Error::from)
254 } else {
255 let local_var_entity: Option<RbacPermissionsAssignedByRolesListError> = serde_json::from_str(&local_var_content).ok();
256 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
257 Err(Error::ResponseError(local_var_error))
258 }
259}
260
261pub async fn rbac_permissions_assigned_by_roles_unassign_partial_update(configuration: &configuration::Configuration, uuid: &str, patched_permission_assign_request: Option<models::PatchedPermissionAssignRequest>) -> Result<(), Error<RbacPermissionsAssignedByRolesUnassignPartialUpdateError>> {
263 let local_var_configuration = configuration;
264
265 let local_var_client = &local_var_configuration.client;
266
267 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_roles/{uuid}/unassign/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
268 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
269
270 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
271 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
272 }
273 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
274 let local_var_key = local_var_apikey.key.clone();
275 let local_var_value = match local_var_apikey.prefix {
276 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
277 None => local_var_key,
278 };
279 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
280 };
281 local_var_req_builder = local_var_req_builder.json(&patched_permission_assign_request);
282
283 let local_var_req = local_var_req_builder.build()?;
284 let local_var_resp = local_var_client.execute(local_var_req).await?;
285
286 let local_var_status = local_var_resp.status();
287 let local_var_content = local_var_resp.text().await?;
288
289 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
290 Ok(())
291 } else {
292 let local_var_entity: Option<RbacPermissionsAssignedByRolesUnassignPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
293 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
294 Err(Error::ResponseError(local_var_error))
295 }
296}
297
298pub async fn rbac_permissions_assigned_by_users_assign_create(configuration: &configuration::Configuration, id: i32, permission_assign_request: models::PermissionAssignRequest) -> Result<(), Error<RbacPermissionsAssignedByUsersAssignCreateError>> {
300 let local_var_configuration = configuration;
301
302 let local_var_client = &local_var_configuration.client;
303
304 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_users/{id}/assign/", local_var_configuration.base_path, id=id);
305 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
306
307 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
308 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
309 }
310 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
311 let local_var_key = local_var_apikey.key.clone();
312 let local_var_value = match local_var_apikey.prefix {
313 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
314 None => local_var_key,
315 };
316 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
317 };
318 local_var_req_builder = local_var_req_builder.json(&permission_assign_request);
319
320 let local_var_req = local_var_req_builder.build()?;
321 let local_var_resp = local_var_client.execute(local_var_req).await?;
322
323 let local_var_status = local_var_resp.status();
324 let local_var_content = local_var_resp.text().await?;
325
326 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
327 Ok(())
328 } else {
329 let local_var_entity: Option<RbacPermissionsAssignedByUsersAssignCreateError> = serde_json::from_str(&local_var_content).ok();
330 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
331 Err(Error::ResponseError(local_var_error))
332 }
333}
334
335pub async fn rbac_permissions_assigned_by_users_list(configuration: &configuration::Configuration, model: &str, object_pk: Option<&str>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>) -> Result<models::PaginatedUserAssignedObjectPermissionList, Error<RbacPermissionsAssignedByUsersListError>> {
337 let local_var_configuration = configuration;
338
339 let local_var_client = &local_var_configuration.client;
340
341 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_users/", local_var_configuration.base_path);
342 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
343
344 local_var_req_builder = local_var_req_builder.query(&[("model", &model.to_string())]);
345 if let Some(ref local_var_str) = object_pk {
346 local_var_req_builder = local_var_req_builder.query(&[("object_pk", &local_var_str.to_string())]);
347 }
348 if let Some(ref local_var_str) = ordering {
349 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
350 }
351 if let Some(ref local_var_str) = page {
352 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
353 }
354 if let Some(ref local_var_str) = page_size {
355 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
356 }
357 if let Some(ref local_var_str) = search {
358 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
359 }
360 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
361 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
362 }
363 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
364 let local_var_key = local_var_apikey.key.clone();
365 let local_var_value = match local_var_apikey.prefix {
366 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
367 None => local_var_key,
368 };
369 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
370 };
371
372 let local_var_req = local_var_req_builder.build()?;
373 let local_var_resp = local_var_client.execute(local_var_req).await?;
374
375 let local_var_status = local_var_resp.status();
376 let local_var_content = local_var_resp.text().await?;
377
378 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
379 serde_json::from_str(&local_var_content).map_err(Error::from)
380 } else {
381 let local_var_entity: Option<RbacPermissionsAssignedByUsersListError> = serde_json::from_str(&local_var_content).ok();
382 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
383 Err(Error::ResponseError(local_var_error))
384 }
385}
386
387pub async fn rbac_permissions_assigned_by_users_unassign_partial_update(configuration: &configuration::Configuration, id: i32, patched_permission_assign_request: Option<models::PatchedPermissionAssignRequest>) -> Result<(), Error<RbacPermissionsAssignedByUsersUnassignPartialUpdateError>> {
389 let local_var_configuration = configuration;
390
391 let local_var_client = &local_var_configuration.client;
392
393 let local_var_uri_str = format!("{}/rbac/permissions/assigned_by_users/{id}/unassign/", local_var_configuration.base_path, id=id);
394 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
395
396 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
397 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
398 }
399 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
400 let local_var_key = local_var_apikey.key.clone();
401 let local_var_value = match local_var_apikey.prefix {
402 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
403 None => local_var_key,
404 };
405 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
406 };
407 local_var_req_builder = local_var_req_builder.json(&patched_permission_assign_request);
408
409 let local_var_req = local_var_req_builder.build()?;
410 let local_var_resp = local_var_client.execute(local_var_req).await?;
411
412 let local_var_status = local_var_resp.status();
413 let local_var_content = local_var_resp.text().await?;
414
415 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
416 Ok(())
417 } else {
418 let local_var_entity: Option<RbacPermissionsAssignedByUsersUnassignPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
419 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
420 Err(Error::ResponseError(local_var_error))
421 }
422}
423
424pub async fn rbac_permissions_list(configuration: &configuration::Configuration, codename: Option<&str>, content_type__app_label: Option<&str>, content_type__model: Option<&str>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, role: Option<&str>, search: Option<&str>, user: Option<i32>) -> Result<models::PaginatedPermissionList, Error<RbacPermissionsListError>> {
426 let local_var_configuration = configuration;
427
428 let local_var_client = &local_var_configuration.client;
429
430 let local_var_uri_str = format!("{}/rbac/permissions/", local_var_configuration.base_path);
431 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
432
433 if let Some(ref local_var_str) = codename {
434 local_var_req_builder = local_var_req_builder.query(&[("codename", &local_var_str.to_string())]);
435 }
436 if let Some(ref local_var_str) = content_type__app_label {
437 local_var_req_builder = local_var_req_builder.query(&[("content_type__app_label", &local_var_str.to_string())]);
438 }
439 if let Some(ref local_var_str) = content_type__model {
440 local_var_req_builder = local_var_req_builder.query(&[("content_type__model", &local_var_str.to_string())]);
441 }
442 if let Some(ref local_var_str) = ordering {
443 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
444 }
445 if let Some(ref local_var_str) = page {
446 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
447 }
448 if let Some(ref local_var_str) = page_size {
449 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
450 }
451 if let Some(ref local_var_str) = role {
452 local_var_req_builder = local_var_req_builder.query(&[("role", &local_var_str.to_string())]);
453 }
454 if let Some(ref local_var_str) = search {
455 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
456 }
457 if let Some(ref local_var_str) = user {
458 local_var_req_builder = local_var_req_builder.query(&[("user", &local_var_str.to_string())]);
459 }
460 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
461 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
462 }
463 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
464 let local_var_key = local_var_apikey.key.clone();
465 let local_var_value = match local_var_apikey.prefix {
466 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
467 None => local_var_key,
468 };
469 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
470 };
471
472 let local_var_req = local_var_req_builder.build()?;
473 let local_var_resp = local_var_client.execute(local_var_req).await?;
474
475 let local_var_status = local_var_resp.status();
476 let local_var_content = local_var_resp.text().await?;
477
478 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
479 serde_json::from_str(&local_var_content).map_err(Error::from)
480 } else {
481 let local_var_entity: Option<RbacPermissionsListError> = serde_json::from_str(&local_var_content).ok();
482 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
483 Err(Error::ResponseError(local_var_error))
484 }
485}
486
487pub async fn rbac_permissions_retrieve(configuration: &configuration::Configuration, id: i32) -> Result<models::Permission, Error<RbacPermissionsRetrieveError>> {
489 let local_var_configuration = configuration;
490
491 let local_var_client = &local_var_configuration.client;
492
493 let local_var_uri_str = format!("{}/rbac/permissions/{id}/", local_var_configuration.base_path, id=id);
494 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
495
496 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
497 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
498 }
499 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
500 let local_var_key = local_var_apikey.key.clone();
501 let local_var_value = match local_var_apikey.prefix {
502 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
503 None => local_var_key,
504 };
505 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
506 };
507
508 let local_var_req = local_var_req_builder.build()?;
509 let local_var_resp = local_var_client.execute(local_var_req).await?;
510
511 let local_var_status = local_var_resp.status();
512 let local_var_content = local_var_resp.text().await?;
513
514 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
515 serde_json::from_str(&local_var_content).map_err(Error::from)
516 } else {
517 let local_var_entity: Option<RbacPermissionsRetrieveError> = serde_json::from_str(&local_var_content).ok();
518 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
519 Err(Error::ResponseError(local_var_error))
520 }
521}
522
523pub async fn rbac_permissions_roles_list(configuration: &configuration::Configuration, uuid: &str, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>) -> Result<models::PaginatedExtraRoleObjectPermissionList, Error<RbacPermissionsRolesListError>> {
525 let local_var_configuration = configuration;
526
527 let local_var_client = &local_var_configuration.client;
528
529 let local_var_uri_str = format!("{}/rbac/permissions/roles/", local_var_configuration.base_path);
530 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
531
532 if let Some(ref local_var_str) = ordering {
533 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
534 }
535 if let Some(ref local_var_str) = page {
536 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
537 }
538 if let Some(ref local_var_str) = page_size {
539 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
540 }
541 if let Some(ref local_var_str) = search {
542 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
543 }
544 local_var_req_builder = local_var_req_builder.query(&[("uuid", &uuid.to_string())]);
545 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
546 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
547 }
548 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
549 let local_var_key = local_var_apikey.key.clone();
550 let local_var_value = match local_var_apikey.prefix {
551 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
552 None => local_var_key,
553 };
554 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
555 };
556
557 let local_var_req = local_var_req_builder.build()?;
558 let local_var_resp = local_var_client.execute(local_var_req).await?;
559
560 let local_var_status = local_var_resp.status();
561 let local_var_content = local_var_resp.text().await?;
562
563 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
564 serde_json::from_str(&local_var_content).map_err(Error::from)
565 } else {
566 let local_var_entity: Option<RbacPermissionsRolesListError> = serde_json::from_str(&local_var_content).ok();
567 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
568 Err(Error::ResponseError(local_var_error))
569 }
570}
571
572pub async fn rbac_permissions_users_list(configuration: &configuration::Configuration, user_id: i32, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>) -> Result<models::PaginatedExtraUserObjectPermissionList, Error<RbacPermissionsUsersListError>> {
574 let local_var_configuration = configuration;
575
576 let local_var_client = &local_var_configuration.client;
577
578 let local_var_uri_str = format!("{}/rbac/permissions/users/", local_var_configuration.base_path);
579 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
580
581 if let Some(ref local_var_str) = ordering {
582 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
583 }
584 if let Some(ref local_var_str) = page {
585 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
586 }
587 if let Some(ref local_var_str) = page_size {
588 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
589 }
590 if let Some(ref local_var_str) = search {
591 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
592 }
593 local_var_req_builder = local_var_req_builder.query(&[("user_id", &user_id.to_string())]);
594 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
595 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
596 }
597 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
598 let local_var_key = local_var_apikey.key.clone();
599 let local_var_value = match local_var_apikey.prefix {
600 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
601 None => local_var_key,
602 };
603 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
604 };
605
606 let local_var_req = local_var_req_builder.build()?;
607 let local_var_resp = local_var_client.execute(local_var_req).await?;
608
609 let local_var_status = local_var_resp.status();
610 let local_var_content = local_var_resp.text().await?;
611
612 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
613 serde_json::from_str(&local_var_content).map_err(Error::from)
614 } else {
615 let local_var_entity: Option<RbacPermissionsUsersListError> = serde_json::from_str(&local_var_content).ok();
616 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
617 Err(Error::ResponseError(local_var_error))
618 }
619}
620
621pub async fn rbac_roles_create(configuration: &configuration::Configuration, role_request: models::RoleRequest) -> Result<models::Role, Error<RbacRolesCreateError>> {
623 let local_var_configuration = configuration;
624
625 let local_var_client = &local_var_configuration.client;
626
627 let local_var_uri_str = format!("{}/rbac/roles/", local_var_configuration.base_path);
628 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
629
630 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
631 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
632 }
633 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
634 let local_var_key = local_var_apikey.key.clone();
635 let local_var_value = match local_var_apikey.prefix {
636 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
637 None => local_var_key,
638 };
639 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
640 };
641 local_var_req_builder = local_var_req_builder.json(&role_request);
642
643 let local_var_req = local_var_req_builder.build()?;
644 let local_var_resp = local_var_client.execute(local_var_req).await?;
645
646 let local_var_status = local_var_resp.status();
647 let local_var_content = local_var_resp.text().await?;
648
649 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
650 serde_json::from_str(&local_var_content).map_err(Error::from)
651 } else {
652 let local_var_entity: Option<RbacRolesCreateError> = serde_json::from_str(&local_var_content).ok();
653 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
654 Err(Error::ResponseError(local_var_error))
655 }
656}
657
658pub async fn rbac_roles_destroy(configuration: &configuration::Configuration, uuid: &str) -> Result<(), Error<RbacRolesDestroyError>> {
660 let local_var_configuration = configuration;
661
662 let local_var_client = &local_var_configuration.client;
663
664 let local_var_uri_str = format!("{}/rbac/roles/{uuid}/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
665 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
666
667 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
668 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
669 }
670 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
671 let local_var_key = local_var_apikey.key.clone();
672 let local_var_value = match local_var_apikey.prefix {
673 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
674 None => local_var_key,
675 };
676 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
677 };
678
679 let local_var_req = local_var_req_builder.build()?;
680 let local_var_resp = local_var_client.execute(local_var_req).await?;
681
682 let local_var_status = local_var_resp.status();
683 let local_var_content = local_var_resp.text().await?;
684
685 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
686 Ok(())
687 } else {
688 let local_var_entity: Option<RbacRolesDestroyError> = serde_json::from_str(&local_var_content).ok();
689 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
690 Err(Error::ResponseError(local_var_error))
691 }
692}
693
694pub async fn rbac_roles_list(configuration: &configuration::Configuration, group__name: Option<&str>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>) -> Result<models::PaginatedRoleList, Error<RbacRolesListError>> {
696 let local_var_configuration = configuration;
697
698 let local_var_client = &local_var_configuration.client;
699
700 let local_var_uri_str = format!("{}/rbac/roles/", local_var_configuration.base_path);
701 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
702
703 if let Some(ref local_var_str) = group__name {
704 local_var_req_builder = local_var_req_builder.query(&[("group__name", &local_var_str.to_string())]);
705 }
706 if let Some(ref local_var_str) = ordering {
707 local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
708 }
709 if let Some(ref local_var_str) = page {
710 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
711 }
712 if let Some(ref local_var_str) = page_size {
713 local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
714 }
715 if let Some(ref local_var_str) = search {
716 local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
717 }
718 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
719 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
720 }
721 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
722 let local_var_key = local_var_apikey.key.clone();
723 let local_var_value = match local_var_apikey.prefix {
724 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
725 None => local_var_key,
726 };
727 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
728 };
729
730 let local_var_req = local_var_req_builder.build()?;
731 let local_var_resp = local_var_client.execute(local_var_req).await?;
732
733 let local_var_status = local_var_resp.status();
734 let local_var_content = local_var_resp.text().await?;
735
736 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
737 serde_json::from_str(&local_var_content).map_err(Error::from)
738 } else {
739 let local_var_entity: Option<RbacRolesListError> = serde_json::from_str(&local_var_content).ok();
740 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
741 Err(Error::ResponseError(local_var_error))
742 }
743}
744
745pub async fn rbac_roles_partial_update(configuration: &configuration::Configuration, uuid: &str, patched_role_request: Option<models::PatchedRoleRequest>) -> Result<models::Role, Error<RbacRolesPartialUpdateError>> {
747 let local_var_configuration = configuration;
748
749 let local_var_client = &local_var_configuration.client;
750
751 let local_var_uri_str = format!("{}/rbac/roles/{uuid}/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
752 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
753
754 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
755 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
756 }
757 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
758 let local_var_key = local_var_apikey.key.clone();
759 let local_var_value = match local_var_apikey.prefix {
760 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
761 None => local_var_key,
762 };
763 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
764 };
765 local_var_req_builder = local_var_req_builder.json(&patched_role_request);
766
767 let local_var_req = local_var_req_builder.build()?;
768 let local_var_resp = local_var_client.execute(local_var_req).await?;
769
770 let local_var_status = local_var_resp.status();
771 let local_var_content = local_var_resp.text().await?;
772
773 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
774 serde_json::from_str(&local_var_content).map_err(Error::from)
775 } else {
776 let local_var_entity: Option<RbacRolesPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
777 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
778 Err(Error::ResponseError(local_var_error))
779 }
780}
781
782pub async fn rbac_roles_retrieve(configuration: &configuration::Configuration, uuid: &str) -> Result<models::Role, Error<RbacRolesRetrieveError>> {
784 let local_var_configuration = configuration;
785
786 let local_var_client = &local_var_configuration.client;
787
788 let local_var_uri_str = format!("{}/rbac/roles/{uuid}/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
789 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
790
791 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
792 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
793 }
794 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
795 let local_var_key = local_var_apikey.key.clone();
796 let local_var_value = match local_var_apikey.prefix {
797 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
798 None => local_var_key,
799 };
800 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
801 };
802
803 let local_var_req = local_var_req_builder.build()?;
804 let local_var_resp = local_var_client.execute(local_var_req).await?;
805
806 let local_var_status = local_var_resp.status();
807 let local_var_content = local_var_resp.text().await?;
808
809 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
810 serde_json::from_str(&local_var_content).map_err(Error::from)
811 } else {
812 let local_var_entity: Option<RbacRolesRetrieveError> = serde_json::from_str(&local_var_content).ok();
813 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
814 Err(Error::ResponseError(local_var_error))
815 }
816}
817
818pub async fn rbac_roles_update(configuration: &configuration::Configuration, uuid: &str, role_request: models::RoleRequest) -> Result<models::Role, Error<RbacRolesUpdateError>> {
820 let local_var_configuration = configuration;
821
822 let local_var_client = &local_var_configuration.client;
823
824 let local_var_uri_str = format!("{}/rbac/roles/{uuid}/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
825 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
826
827 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
828 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
829 }
830 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
831 let local_var_key = local_var_apikey.key.clone();
832 let local_var_value = match local_var_apikey.prefix {
833 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
834 None => local_var_key,
835 };
836 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
837 };
838 local_var_req_builder = local_var_req_builder.json(&role_request);
839
840 let local_var_req = local_var_req_builder.build()?;
841 let local_var_resp = local_var_client.execute(local_var_req).await?;
842
843 let local_var_status = local_var_resp.status();
844 let local_var_content = local_var_resp.text().await?;
845
846 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
847 serde_json::from_str(&local_var_content).map_err(Error::from)
848 } else {
849 let local_var_entity: Option<RbacRolesUpdateError> = serde_json::from_str(&local_var_content).ok();
850 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
851 Err(Error::ResponseError(local_var_error))
852 }
853}
854
855pub async fn rbac_roles_used_by_list(configuration: &configuration::Configuration, uuid: &str) -> Result<Vec<models::UsedBy>, Error<RbacRolesUsedByListError>> {
857 let local_var_configuration = configuration;
858
859 let local_var_client = &local_var_configuration.client;
860
861 let local_var_uri_str = format!("{}/rbac/roles/{uuid}/used_by/", local_var_configuration.base_path, uuid=crate::apis::urlencode(uuid));
862 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
863
864 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
865 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
866 }
867 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
868 let local_var_key = local_var_apikey.key.clone();
869 let local_var_value = match local_var_apikey.prefix {
870 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
871 None => local_var_key,
872 };
873 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
874 };
875
876 let local_var_req = local_var_req_builder.build()?;
877 let local_var_resp = local_var_client.execute(local_var_req).await?;
878
879 let local_var_status = local_var_resp.status();
880 let local_var_content = local_var_resp.text().await?;
881
882 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
883 serde_json::from_str(&local_var_content).map_err(Error::from)
884 } else {
885 let local_var_entity: Option<RbacRolesUsedByListError> = serde_json::from_str(&local_var_content).ok();
886 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
887 Err(Error::ResponseError(local_var_error))
888 }
889}
890