1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddUserError {
22 Status403(crate::models::FailResponse),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum FindUsersByNameError {
30 UnknownValue(serde_json::Value),
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(untagged)]
36pub enum GetCurrentUserError {
37 Status401(crate::models::UnathorizedResponse),
38 UnknownValue(serde_json::Value),
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
43#[serde(untagged)]
44pub enum GetUserError {
45 Status404(crate::models::FailResponse),
46 UnknownValue(serde_json::Value),
47}
48
49#[derive(Debug, Clone, Serialize, Deserialize)]
51#[serde(untagged)]
52pub enum GetUserFollowersError {
53 Status403(crate::models::FailResponse),
54 UnknownValue(serde_json::Value),
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize)]
59#[serde(untagged)]
60pub enum GetUserPermissionsError {
61 UnknownValue(serde_json::Value),
62}
63
64#[derive(Debug, Clone, Serialize, Deserialize)]
66#[serde(untagged)]
67pub enum GetUserRoleAssignmentsError {
68 UnknownValue(serde_json::Value),
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize)]
73#[serde(untagged)]
74pub enum GetUserRoleSettingsError {
75 UnknownValue(serde_json::Value),
76}
77
78#[derive(Debug, Clone, Serialize, Deserialize)]
80#[serde(untagged)]
81pub enum GetUsersError {
82 UnknownValue(serde_json::Value),
83}
84
85#[derive(Debug, Clone, Serialize, Deserialize)]
87#[serde(untagged)]
88pub enum UpdateUserError {
89 Status403(crate::models::FailResponse),
90 Status404(crate::models::FailResponse),
91 UnknownValue(serde_json::Value),
92}
93
94
95pub async fn add_user(configuration: &configuration::Configuration, add_user_request: Option<crate::models::AddUserRequest>) -> Result<crate::models::UserResponse200, Error<AddUserError>> {
97 let local_var_configuration = configuration;
98
99 let local_var_client = &local_var_configuration.client;
100
101 let local_var_uri_str = format!("{}/users", local_var_configuration.base_path);
102 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
103
104 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
105 let local_var_key = local_var_apikey.key.clone();
106 let local_var_value = match local_var_apikey.prefix {
107 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
108 None => local_var_key,
109 };
110 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
111 }
112 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
113 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
114 }
115 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
116 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
117 };
118 local_var_req_builder = local_var_req_builder.json(&add_user_request);
119
120 let local_var_req = local_var_req_builder.build()?;
121 let local_var_resp = local_var_client.execute(local_var_req).await?;
122
123 let local_var_status = local_var_resp.status();
124 let local_var_content = local_var_resp.text().await?;
125
126 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
127 serde_json::from_str(&local_var_content).map_err(Error::from)
128 } else {
129 let local_var_entity: Option<AddUserError> = serde_json::from_str(&local_var_content).ok();
130 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
131 Err(Error::ResponseError(local_var_error))
132 }
133}
134
135pub async fn find_users_by_name(configuration: &configuration::Configuration, term: &str, search_by_email: Option<f32>) -> Result<crate::models::UsersResponse200, Error<FindUsersByNameError>> {
137 let local_var_configuration = configuration;
138
139 let local_var_client = &local_var_configuration.client;
140
141 let local_var_uri_str = format!("{}/users/find", local_var_configuration.base_path);
142 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
143
144 local_var_req_builder = local_var_req_builder.query(&[("term", &term.to_string())]);
145 if let Some(ref local_var_str) = search_by_email {
146 local_var_req_builder = local_var_req_builder.query(&[("search_by_email", &local_var_str.to_string())]);
147 }
148 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
149 let local_var_key = local_var_apikey.key.clone();
150 let local_var_value = match local_var_apikey.prefix {
151 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
152 None => local_var_key,
153 };
154 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
155 }
156 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
157 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
158 }
159 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
160 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
161 };
162
163 let local_var_req = local_var_req_builder.build()?;
164 let local_var_resp = local_var_client.execute(local_var_req).await?;
165
166 let local_var_status = local_var_resp.status();
167 let local_var_content = local_var_resp.text().await?;
168
169 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
170 serde_json::from_str(&local_var_content).map_err(Error::from)
171 } else {
172 let local_var_entity: Option<FindUsersByNameError> = serde_json::from_str(&local_var_content).ok();
173 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
174 Err(Error::ResponseError(local_var_error))
175 }
176}
177
178pub async fn get_current_user(configuration: &configuration::Configuration, ) -> Result<crate::models::GetCurrentUserResponse200, Error<GetCurrentUserError>> {
180 let local_var_configuration = configuration;
181
182 let local_var_client = &local_var_configuration.client;
183
184 let local_var_uri_str = format!("{}/users/me", local_var_configuration.base_path);
185 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
186
187 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
188 let local_var_key = local_var_apikey.key.clone();
189 let local_var_value = match local_var_apikey.prefix {
190 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
191 None => local_var_key,
192 };
193 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
194 }
195 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
196 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
197 }
198 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
199 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
200 };
201
202 let local_var_req = local_var_req_builder.build()?;
203 let local_var_resp = local_var_client.execute(local_var_req).await?;
204
205 let local_var_status = local_var_resp.status();
206 let local_var_content = local_var_resp.text().await?;
207
208 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
209 serde_json::from_str(&local_var_content).map_err(Error::from)
210 } else {
211 let local_var_entity: Option<GetCurrentUserError> = serde_json::from_str(&local_var_content).ok();
212 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
213 Err(Error::ResponseError(local_var_error))
214 }
215}
216
217pub async fn get_user(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::UserResponse200, Error<GetUserError>> {
219 let local_var_configuration = configuration;
220
221 let local_var_client = &local_var_configuration.client;
222
223 let local_var_uri_str = format!("{}/users/{id}", local_var_configuration.base_path, id=id);
224 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
225
226 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
227 let local_var_key = local_var_apikey.key.clone();
228 let local_var_value = match local_var_apikey.prefix {
229 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
230 None => local_var_key,
231 };
232 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
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_token) = local_var_configuration.oauth_access_token {
238 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
239 };
240
241 let local_var_req = local_var_req_builder.build()?;
242 let local_var_resp = local_var_client.execute(local_var_req).await?;
243
244 let local_var_status = local_var_resp.status();
245 let local_var_content = local_var_resp.text().await?;
246
247 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
248 serde_json::from_str(&local_var_content).map_err(Error::from)
249 } else {
250 let local_var_entity: Option<GetUserError> = serde_json::from_str(&local_var_content).ok();
251 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
252 Err(Error::ResponseError(local_var_error))
253 }
254}
255
256pub async fn get_user_followers(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::UserIds, Error<GetUserFollowersError>> {
258 let local_var_configuration = configuration;
259
260 let local_var_client = &local_var_configuration.client;
261
262 let local_var_uri_str = format!("{}/users/{id}/followers", local_var_configuration.base_path, id=id);
263 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
264
265 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
266 let local_var_key = local_var_apikey.key.clone();
267 let local_var_value = match local_var_apikey.prefix {
268 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
269 None => local_var_key,
270 };
271 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
272 }
273 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
274 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
275 }
276 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
277 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
278 };
279
280 let local_var_req = local_var_req_builder.build()?;
281 let local_var_resp = local_var_client.execute(local_var_req).await?;
282
283 let local_var_status = local_var_resp.status();
284 let local_var_content = local_var_resp.text().await?;
285
286 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
287 serde_json::from_str(&local_var_content).map_err(Error::from)
288 } else {
289 let local_var_entity: Option<GetUserFollowersError> = serde_json::from_str(&local_var_content).ok();
290 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
291 Err(Error::ResponseError(local_var_error))
292 }
293}
294
295pub async fn get_user_permissions(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::GetUserPermissionsResponse200, Error<GetUserPermissionsError>> {
297 let local_var_configuration = configuration;
298
299 let local_var_client = &local_var_configuration.client;
300
301 let local_var_uri_str = format!("{}/users/{id}/permissions", local_var_configuration.base_path, id=id);
302 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
303
304 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
305 let local_var_key = local_var_apikey.key.clone();
306 let local_var_value = match local_var_apikey.prefix {
307 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
308 None => local_var_key,
309 };
310 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
311 }
312 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
313 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
314 }
315 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
316 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
317 };
318
319 let local_var_req = local_var_req_builder.build()?;
320 let local_var_resp = local_var_client.execute(local_var_req).await?;
321
322 let local_var_status = local_var_resp.status();
323 let local_var_content = local_var_resp.text().await?;
324
325 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
326 serde_json::from_str(&local_var_content).map_err(Error::from)
327 } else {
328 let local_var_entity: Option<GetUserPermissionsError> = serde_json::from_str(&local_var_content).ok();
329 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
330 Err(Error::ResponseError(local_var_error))
331 }
332}
333
334pub async fn get_user_role_assignments(configuration: &configuration::Configuration, id: i32, start: Option<i32>, limit: Option<i32>) -> Result<crate::models::GetUserRoleAssignmentsResponse200, Error<GetUserRoleAssignmentsError>> {
336 let local_var_configuration = configuration;
337
338 let local_var_client = &local_var_configuration.client;
339
340 let local_var_uri_str = format!("{}/users/{id}/roleAssignments", local_var_configuration.base_path, id=id);
341 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
342
343 if let Some(ref local_var_str) = start {
344 local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
345 }
346 if let Some(ref local_var_str) = limit {
347 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
348 }
349 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
350 let local_var_key = local_var_apikey.key.clone();
351 let local_var_value = match local_var_apikey.prefix {
352 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
353 None => local_var_key,
354 };
355 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
356 }
357 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
358 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
359 }
360 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
361 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
362 };
363
364 let local_var_req = local_var_req_builder.build()?;
365 let local_var_resp = local_var_client.execute(local_var_req).await?;
366
367 let local_var_status = local_var_resp.status();
368 let local_var_content = local_var_resp.text().await?;
369
370 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
371 serde_json::from_str(&local_var_content).map_err(Error::from)
372 } else {
373 let local_var_entity: Option<GetUserRoleAssignmentsError> = serde_json::from_str(&local_var_content).ok();
374 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
375 Err(Error::ResponseError(local_var_error))
376 }
377}
378
379pub async fn get_user_role_settings(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::GetRoleSettingsResponse200, Error<GetUserRoleSettingsError>> {
381 let local_var_configuration = configuration;
382
383 let local_var_client = &local_var_configuration.client;
384
385 let local_var_uri_str = format!("{}/users/{id}/roleSettings", local_var_configuration.base_path, id=id);
386 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
387
388 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
389 let local_var_key = local_var_apikey.key.clone();
390 let local_var_value = match local_var_apikey.prefix {
391 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
392 None => local_var_key,
393 };
394 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
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_token) = local_var_configuration.oauth_access_token {
400 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
401 };
402
403 let local_var_req = local_var_req_builder.build()?;
404 let local_var_resp = local_var_client.execute(local_var_req).await?;
405
406 let local_var_status = local_var_resp.status();
407 let local_var_content = local_var_resp.text().await?;
408
409 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
410 serde_json::from_str(&local_var_content).map_err(Error::from)
411 } else {
412 let local_var_entity: Option<GetUserRoleSettingsError> = serde_json::from_str(&local_var_content).ok();
413 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
414 Err(Error::ResponseError(local_var_error))
415 }
416}
417
418pub async fn get_users(configuration: &configuration::Configuration, ) -> Result<crate::models::UsersResponse200, Error<GetUsersError>> {
420 let local_var_configuration = configuration;
421
422 let local_var_client = &local_var_configuration.client;
423
424 let local_var_uri_str = format!("{}/users", local_var_configuration.base_path);
425 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
426
427 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
428 let local_var_key = local_var_apikey.key.clone();
429 let local_var_value = match local_var_apikey.prefix {
430 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
431 None => local_var_key,
432 };
433 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
434 }
435 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
436 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
437 }
438 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
439 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
440 };
441
442 let local_var_req = local_var_req_builder.build()?;
443 let local_var_resp = local_var_client.execute(local_var_req).await?;
444
445 let local_var_status = local_var_resp.status();
446 let local_var_content = local_var_resp.text().await?;
447
448 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
449 serde_json::from_str(&local_var_content).map_err(Error::from)
450 } else {
451 let local_var_entity: Option<GetUsersError> = serde_json::from_str(&local_var_content).ok();
452 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
453 Err(Error::ResponseError(local_var_error))
454 }
455}
456
457pub async fn update_user(configuration: &configuration::Configuration, id: i32, update_user_request: Option<crate::models::UpdateUserRequest>) -> Result<crate::models::UserResponse200, Error<UpdateUserError>> {
459 let local_var_configuration = configuration;
460
461 let local_var_client = &local_var_configuration.client;
462
463 let local_var_uri_str = format!("{}/users/{id}", local_var_configuration.base_path, id=id);
464 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
465
466 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
467 let local_var_key = local_var_apikey.key.clone();
468 let local_var_value = match local_var_apikey.prefix {
469 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
470 None => local_var_key,
471 };
472 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
473 }
474 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
475 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
476 }
477 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
478 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
479 };
480 local_var_req_builder = local_var_req_builder.json(&update_user_request);
481
482 let local_var_req = local_var_req_builder.build()?;
483 let local_var_resp = local_var_client.execute(local_var_req).await?;
484
485 let local_var_status = local_var_resp.status();
486 let local_var_content = local_var_resp.text().await?;
487
488 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
489 serde_json::from_str(&local_var_content).map_err(Error::from)
490 } else {
491 let local_var_entity: Option<UpdateUserError> = serde_json::from_str(&local_var_content).ok();
492 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
493 Err(Error::ResponseError(local_var_error))
494 }
495}
496