1use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateBrowserLoginFlowError {
22 Status400(models::ErrorGeneric),
23 DefaultResponse(models::ErrorGeneric),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum CreateBrowserLogoutFlowError {
31 Status400(models::ErrorGeneric),
32 Status401(models::ErrorGeneric),
33 Status500(models::ErrorGeneric),
34 UnknownValue(serde_json::Value),
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum CreateBrowserRecoveryFlowError {
41 Status400(models::ErrorGeneric),
42 DefaultResponse(models::ErrorGeneric),
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum CreateBrowserRegistrationFlowError {
50 DefaultResponse(models::ErrorGeneric),
51 UnknownValue(serde_json::Value),
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum CreateBrowserSettingsFlowError {
58 Status400(models::ErrorGeneric),
59 Status401(models::ErrorGeneric),
60 Status403(models::ErrorGeneric),
61 DefaultResponse(models::ErrorGeneric),
62 UnknownValue(serde_json::Value),
63}
64
65#[derive(Debug, Clone, Serialize, Deserialize)]
67#[serde(untagged)]
68pub enum CreateBrowserVerificationFlowError {
69 DefaultResponse(models::ErrorGeneric),
70 UnknownValue(serde_json::Value),
71}
72
73#[derive(Debug, Clone, Serialize, Deserialize)]
75#[serde(untagged)]
76pub enum CreateFedcmFlowError {
77 Status400(models::ErrorGeneric),
78 DefaultResponse(models::ErrorGeneric),
79 UnknownValue(serde_json::Value),
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
84#[serde(untagged)]
85pub enum CreateNativeLoginFlowError {
86 Status400(models::ErrorGeneric),
87 DefaultResponse(models::ErrorGeneric),
88 UnknownValue(serde_json::Value),
89}
90
91#[derive(Debug, Clone, Serialize, Deserialize)]
93#[serde(untagged)]
94pub enum CreateNativeRecoveryFlowError {
95 Status400(models::ErrorGeneric),
96 DefaultResponse(models::ErrorGeneric),
97 UnknownValue(serde_json::Value),
98}
99
100#[derive(Debug, Clone, Serialize, Deserialize)]
102#[serde(untagged)]
103pub enum CreateNativeRegistrationFlowError {
104 Status400(models::ErrorGeneric),
105 DefaultResponse(models::ErrorGeneric),
106 UnknownValue(serde_json::Value),
107}
108
109#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(untagged)]
112pub enum CreateNativeSettingsFlowError {
113 Status400(models::ErrorGeneric),
114 DefaultResponse(models::ErrorGeneric),
115 UnknownValue(serde_json::Value),
116}
117
118#[derive(Debug, Clone, Serialize, Deserialize)]
120#[serde(untagged)]
121pub enum CreateNativeVerificationFlowError {
122 Status400(models::ErrorGeneric),
123 DefaultResponse(models::ErrorGeneric),
124 UnknownValue(serde_json::Value),
125}
126
127#[derive(Debug, Clone, Serialize, Deserialize)]
129#[serde(untagged)]
130pub enum DisableMyOtherSessionsError {
131 Status400(models::ErrorGeneric),
132 Status401(models::ErrorGeneric),
133 DefaultResponse(models::ErrorGeneric),
134 UnknownValue(serde_json::Value),
135}
136
137#[derive(Debug, Clone, Serialize, Deserialize)]
139#[serde(untagged)]
140pub enum DisableMySessionError {
141 Status400(models::ErrorGeneric),
142 Status401(models::ErrorGeneric),
143 DefaultResponse(models::ErrorGeneric),
144 UnknownValue(serde_json::Value),
145}
146
147#[derive(Debug, Clone, Serialize, Deserialize)]
149#[serde(untagged)]
150pub enum ExchangeSessionTokenError {
151 Status403(models::ErrorGeneric),
152 Status404(models::ErrorGeneric),
153 Status410(models::ErrorGeneric),
154 DefaultResponse(models::ErrorGeneric),
155 UnknownValue(serde_json::Value),
156}
157
158#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum GetFlowErrorError {
162 Status403(models::ErrorGeneric),
163 Status404(models::ErrorGeneric),
164 Status500(models::ErrorGeneric),
165 UnknownValue(serde_json::Value),
166}
167
168#[derive(Debug, Clone, Serialize, Deserialize)]
170#[serde(untagged)]
171pub enum GetLoginFlowError {
172 Status403(models::ErrorGeneric),
173 Status404(models::ErrorGeneric),
174 Status410(models::ErrorGeneric),
175 DefaultResponse(models::ErrorGeneric),
176 UnknownValue(serde_json::Value),
177}
178
179#[derive(Debug, Clone, Serialize, Deserialize)]
181#[serde(untagged)]
182pub enum GetRecoveryFlowError {
183 Status404(models::ErrorGeneric),
184 Status410(models::ErrorGeneric),
185 DefaultResponse(models::ErrorGeneric),
186 UnknownValue(serde_json::Value),
187}
188
189#[derive(Debug, Clone, Serialize, Deserialize)]
191#[serde(untagged)]
192pub enum GetRegistrationFlowError {
193 Status403(models::ErrorGeneric),
194 Status404(models::ErrorGeneric),
195 Status410(models::ErrorGeneric),
196 DefaultResponse(models::ErrorGeneric),
197 UnknownValue(serde_json::Value),
198}
199
200#[derive(Debug, Clone, Serialize, Deserialize)]
202#[serde(untagged)]
203pub enum GetSettingsFlowError {
204 Status401(models::ErrorGeneric),
205 Status403(models::ErrorGeneric),
206 Status404(models::ErrorGeneric),
207 Status410(models::ErrorGeneric),
208 DefaultResponse(models::ErrorGeneric),
209 UnknownValue(serde_json::Value),
210}
211
212#[derive(Debug, Clone, Serialize, Deserialize)]
214#[serde(untagged)]
215pub enum GetVerificationFlowError {
216 Status403(models::ErrorGeneric),
217 Status404(models::ErrorGeneric),
218 DefaultResponse(models::ErrorGeneric),
219 UnknownValue(serde_json::Value),
220}
221
222#[derive(Debug, Clone, Serialize, Deserialize)]
224#[serde(untagged)]
225pub enum GetWebAuthnJavaScriptError {
226 UnknownValue(serde_json::Value),
227}
228
229#[derive(Debug, Clone, Serialize, Deserialize)]
231#[serde(untagged)]
232pub enum ListMySessionsError {
233 Status400(models::ErrorGeneric),
234 Status401(models::ErrorGeneric),
235 DefaultResponse(models::ErrorGeneric),
236 UnknownValue(serde_json::Value),
237}
238
239#[derive(Debug, Clone, Serialize, Deserialize)]
241#[serde(untagged)]
242pub enum PerformNativeLogoutError {
243 Status400(models::ErrorGeneric),
244 DefaultResponse(models::ErrorGeneric),
245 UnknownValue(serde_json::Value),
246}
247
248#[derive(Debug, Clone, Serialize, Deserialize)]
250#[serde(untagged)]
251pub enum ToSessionError {
252 Status401(models::ErrorGeneric),
253 Status403(models::ErrorGeneric),
254 DefaultResponse(models::ErrorGeneric),
255 UnknownValue(serde_json::Value),
256}
257
258#[derive(Debug, Clone, Serialize, Deserialize)]
260#[serde(untagged)]
261pub enum UpdateFedcmFlowError {
262 Status400(models::LoginFlow),
263 Status410(models::ErrorGeneric),
264 Status422(models::ErrorBrowserLocationChangeRequired),
265 DefaultResponse(models::ErrorGeneric),
266 UnknownValue(serde_json::Value),
267}
268
269#[derive(Debug, Clone, Serialize, Deserialize)]
271#[serde(untagged)]
272pub enum UpdateLoginFlowError {
273 Status400(models::LoginFlow),
274 Status410(models::ErrorGeneric),
275 Status422(models::ErrorBrowserLocationChangeRequired),
276 DefaultResponse(models::ErrorGeneric),
277 UnknownValue(serde_json::Value),
278}
279
280#[derive(Debug, Clone, Serialize, Deserialize)]
282#[serde(untagged)]
283pub enum UpdateLogoutFlowError {
284 DefaultResponse(models::ErrorGeneric),
285 UnknownValue(serde_json::Value),
286}
287
288#[derive(Debug, Clone, Serialize, Deserialize)]
290#[serde(untagged)]
291pub enum UpdateRecoveryFlowError {
292 Status400(models::RecoveryFlow),
293 Status410(models::ErrorGeneric),
294 Status422(models::ErrorBrowserLocationChangeRequired),
295 DefaultResponse(models::ErrorGeneric),
296 UnknownValue(serde_json::Value),
297}
298
299#[derive(Debug, Clone, Serialize, Deserialize)]
301#[serde(untagged)]
302pub enum UpdateRegistrationFlowError {
303 Status400(models::RegistrationFlow),
304 Status410(models::ErrorGeneric),
305 Status422(models::ErrorBrowserLocationChangeRequired),
306 DefaultResponse(models::ErrorGeneric),
307 UnknownValue(serde_json::Value),
308}
309
310#[derive(Debug, Clone, Serialize, Deserialize)]
312#[serde(untagged)]
313pub enum UpdateSettingsFlowError {
314 Status400(models::SettingsFlow),
315 Status401(models::ErrorGeneric),
316 Status403(models::ErrorGeneric),
317 Status410(models::ErrorGeneric),
318 Status422(models::ErrorBrowserLocationChangeRequired),
319 DefaultResponse(models::ErrorGeneric),
320 UnknownValue(serde_json::Value),
321}
322
323#[derive(Debug, Clone, Serialize, Deserialize)]
325#[serde(untagged)]
326pub enum UpdateVerificationFlowError {
327 Status400(models::VerificationFlow),
328 Status410(models::ErrorGeneric),
329 DefaultResponse(models::ErrorGeneric),
330 UnknownValue(serde_json::Value),
331}
332
333
334pub async fn create_browser_login_flow(configuration: &configuration::Configuration, refresh: Option<bool>, aal: Option<&str>, return_to: Option<&str>, cookie: Option<&str>, login_challenge: Option<&str>, organization: Option<&str>, via: Option<&str>, identity_schema: Option<&str>) -> Result<models::LoginFlow, Error<CreateBrowserLoginFlowError>> {
336 let p_refresh = refresh;
338 let p_aal = aal;
339 let p_return_to = return_to;
340 let p_cookie = cookie;
341 let p_login_challenge = login_challenge;
342 let p_organization = organization;
343 let p_via = via;
344 let p_identity_schema = identity_schema;
345
346 let uri_str = format!("{}/self-service/login/browser", configuration.base_path);
347 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
348
349 if let Some(ref param_value) = p_refresh {
350 req_builder = req_builder.query(&[("refresh", ¶m_value.to_string())]);
351 }
352 if let Some(ref param_value) = p_aal {
353 req_builder = req_builder.query(&[("aal", ¶m_value.to_string())]);
354 }
355 if let Some(ref param_value) = p_return_to {
356 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
357 }
358 if let Some(ref param_value) = p_login_challenge {
359 req_builder = req_builder.query(&[("login_challenge", ¶m_value.to_string())]);
360 }
361 if let Some(ref param_value) = p_organization {
362 req_builder = req_builder.query(&[("organization", ¶m_value.to_string())]);
363 }
364 if let Some(ref param_value) = p_via {
365 req_builder = req_builder.query(&[("via", ¶m_value.to_string())]);
366 }
367 if let Some(ref param_value) = p_identity_schema {
368 req_builder = req_builder.query(&[("identity_schema", ¶m_value.to_string())]);
369 }
370 if let Some(ref user_agent) = configuration.user_agent {
371 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
372 }
373 if let Some(param_value) = p_cookie {
374 req_builder = req_builder.header("Cookie", param_value.to_string());
375 }
376
377 let req = req_builder.build()?;
378 let resp = configuration.client.execute(req).await?;
379
380 let status = resp.status();
381 let content_type = resp
382 .headers()
383 .get("content-type")
384 .and_then(|v| v.to_str().ok())
385 .unwrap_or("application/octet-stream");
386 let content_type = super::ContentType::from(content_type);
387
388 if !status.is_client_error() && !status.is_server_error() {
389 let content = resp.text().await?;
390 match content_type {
391 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
392 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LoginFlow`"))),
393 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LoginFlow`")))),
394 }
395 } else {
396 let content = resp.text().await?;
397 let entity: Option<CreateBrowserLoginFlowError> = serde_json::from_str(&content).ok();
398 Err(Error::ResponseError(ResponseContent { status, content, entity }))
399 }
400}
401
402pub async fn create_browser_logout_flow(configuration: &configuration::Configuration, cookie: Option<&str>, return_to: Option<&str>) -> Result<models::LogoutFlow, Error<CreateBrowserLogoutFlowError>> {
404 let p_cookie = cookie;
406 let p_return_to = return_to;
407
408 let uri_str = format!("{}/self-service/logout/browser", configuration.base_path);
409 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
410
411 if let Some(ref param_value) = p_return_to {
412 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
413 }
414 if let Some(ref user_agent) = configuration.user_agent {
415 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
416 }
417 if let Some(param_value) = p_cookie {
418 req_builder = req_builder.header("cookie", param_value.to_string());
419 }
420
421 let req = req_builder.build()?;
422 let resp = configuration.client.execute(req).await?;
423
424 let status = resp.status();
425 let content_type = resp
426 .headers()
427 .get("content-type")
428 .and_then(|v| v.to_str().ok())
429 .unwrap_or("application/octet-stream");
430 let content_type = super::ContentType::from(content_type);
431
432 if !status.is_client_error() && !status.is_server_error() {
433 let content = resp.text().await?;
434 match content_type {
435 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
436 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LogoutFlow`"))),
437 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LogoutFlow`")))),
438 }
439 } else {
440 let content = resp.text().await?;
441 let entity: Option<CreateBrowserLogoutFlowError> = serde_json::from_str(&content).ok();
442 Err(Error::ResponseError(ResponseContent { status, content, entity }))
443 }
444}
445
446pub async fn create_browser_recovery_flow(configuration: &configuration::Configuration, return_to: Option<&str>) -> Result<models::RecoveryFlow, Error<CreateBrowserRecoveryFlowError>> {
448 let p_return_to = return_to;
450
451 let uri_str = format!("{}/self-service/recovery/browser", configuration.base_path);
452 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
453
454 if let Some(ref param_value) = p_return_to {
455 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
456 }
457 if let Some(ref user_agent) = configuration.user_agent {
458 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
459 }
460
461 let req = req_builder.build()?;
462 let resp = configuration.client.execute(req).await?;
463
464 let status = resp.status();
465 let content_type = resp
466 .headers()
467 .get("content-type")
468 .and_then(|v| v.to_str().ok())
469 .unwrap_or("application/octet-stream");
470 let content_type = super::ContentType::from(content_type);
471
472 if !status.is_client_error() && !status.is_server_error() {
473 let content = resp.text().await?;
474 match content_type {
475 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
476 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RecoveryFlow`"))),
477 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RecoveryFlow`")))),
478 }
479 } else {
480 let content = resp.text().await?;
481 let entity: Option<CreateBrowserRecoveryFlowError> = serde_json::from_str(&content).ok();
482 Err(Error::ResponseError(ResponseContent { status, content, entity }))
483 }
484}
485
486pub async fn create_browser_registration_flow(configuration: &configuration::Configuration, return_to: Option<&str>, login_challenge: Option<&str>, after_verification_return_to: Option<&str>, organization: Option<&str>, identity_schema: Option<&str>) -> Result<models::RegistrationFlow, Error<CreateBrowserRegistrationFlowError>> {
488 let p_return_to = return_to;
490 let p_login_challenge = login_challenge;
491 let p_after_verification_return_to = after_verification_return_to;
492 let p_organization = organization;
493 let p_identity_schema = identity_schema;
494
495 let uri_str = format!("{}/self-service/registration/browser", configuration.base_path);
496 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
497
498 if let Some(ref param_value) = p_return_to {
499 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
500 }
501 if let Some(ref param_value) = p_login_challenge {
502 req_builder = req_builder.query(&[("login_challenge", ¶m_value.to_string())]);
503 }
504 if let Some(ref param_value) = p_after_verification_return_to {
505 req_builder = req_builder.query(&[("after_verification_return_to", ¶m_value.to_string())]);
506 }
507 if let Some(ref param_value) = p_organization {
508 req_builder = req_builder.query(&[("organization", ¶m_value.to_string())]);
509 }
510 if let Some(ref param_value) = p_identity_schema {
511 req_builder = req_builder.query(&[("identity_schema", ¶m_value.to_string())]);
512 }
513 if let Some(ref user_agent) = configuration.user_agent {
514 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
515 }
516
517 let req = req_builder.build()?;
518 let resp = configuration.client.execute(req).await?;
519
520 let status = resp.status();
521 let content_type = resp
522 .headers()
523 .get("content-type")
524 .and_then(|v| v.to_str().ok())
525 .unwrap_or("application/octet-stream");
526 let content_type = super::ContentType::from(content_type);
527
528 if !status.is_client_error() && !status.is_server_error() {
529 let content = resp.text().await?;
530 match content_type {
531 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
532 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RegistrationFlow`"))),
533 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RegistrationFlow`")))),
534 }
535 } else {
536 let content = resp.text().await?;
537 let entity: Option<CreateBrowserRegistrationFlowError> = serde_json::from_str(&content).ok();
538 Err(Error::ResponseError(ResponseContent { status, content, entity }))
539 }
540}
541
542pub async fn create_browser_settings_flow(configuration: &configuration::Configuration, return_to: Option<&str>, cookie: Option<&str>) -> Result<models::SettingsFlow, Error<CreateBrowserSettingsFlowError>> {
544 let p_return_to = return_to;
546 let p_cookie = cookie;
547
548 let uri_str = format!("{}/self-service/settings/browser", configuration.base_path);
549 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
550
551 if let Some(ref param_value) = p_return_to {
552 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
553 }
554 if let Some(ref user_agent) = configuration.user_agent {
555 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
556 }
557 if let Some(param_value) = p_cookie {
558 req_builder = req_builder.header("Cookie", param_value.to_string());
559 }
560
561 let req = req_builder.build()?;
562 let resp = configuration.client.execute(req).await?;
563
564 let status = resp.status();
565 let content_type = resp
566 .headers()
567 .get("content-type")
568 .and_then(|v| v.to_str().ok())
569 .unwrap_or("application/octet-stream");
570 let content_type = super::ContentType::from(content_type);
571
572 if !status.is_client_error() && !status.is_server_error() {
573 let content = resp.text().await?;
574 match content_type {
575 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
576 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SettingsFlow`"))),
577 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SettingsFlow`")))),
578 }
579 } else {
580 let content = resp.text().await?;
581 let entity: Option<CreateBrowserSettingsFlowError> = serde_json::from_str(&content).ok();
582 Err(Error::ResponseError(ResponseContent { status, content, entity }))
583 }
584}
585
586pub async fn create_browser_verification_flow(configuration: &configuration::Configuration, return_to: Option<&str>) -> Result<models::VerificationFlow, Error<CreateBrowserVerificationFlowError>> {
588 let p_return_to = return_to;
590
591 let uri_str = format!("{}/self-service/verification/browser", configuration.base_path);
592 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
593
594 if let Some(ref param_value) = p_return_to {
595 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
596 }
597 if let Some(ref user_agent) = configuration.user_agent {
598 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
599 }
600
601 let req = req_builder.build()?;
602 let resp = configuration.client.execute(req).await?;
603
604 let status = resp.status();
605 let content_type = resp
606 .headers()
607 .get("content-type")
608 .and_then(|v| v.to_str().ok())
609 .unwrap_or("application/octet-stream");
610 let content_type = super::ContentType::from(content_type);
611
612 if !status.is_client_error() && !status.is_server_error() {
613 let content = resp.text().await?;
614 match content_type {
615 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
616 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::VerificationFlow`"))),
617 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::VerificationFlow`")))),
618 }
619 } else {
620 let content = resp.text().await?;
621 let entity: Option<CreateBrowserVerificationFlowError> = serde_json::from_str(&content).ok();
622 Err(Error::ResponseError(ResponseContent { status, content, entity }))
623 }
624}
625
626pub async fn create_fedcm_flow(configuration: &configuration::Configuration, ) -> Result<models::CreateFedcmFlowResponse, Error<CreateFedcmFlowError>> {
628
629 let uri_str = format!("{}/self-service/fed-cm/parameters", configuration.base_path);
630 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
631
632 if let Some(ref user_agent) = configuration.user_agent {
633 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
634 }
635
636 let req = req_builder.build()?;
637 let resp = configuration.client.execute(req).await?;
638
639 let status = resp.status();
640 let content_type = resp
641 .headers()
642 .get("content-type")
643 .and_then(|v| v.to_str().ok())
644 .unwrap_or("application/octet-stream");
645 let content_type = super::ContentType::from(content_type);
646
647 if !status.is_client_error() && !status.is_server_error() {
648 let content = resp.text().await?;
649 match content_type {
650 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
651 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CreateFedcmFlowResponse`"))),
652 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CreateFedcmFlowResponse`")))),
653 }
654 } else {
655 let content = resp.text().await?;
656 let entity: Option<CreateFedcmFlowError> = serde_json::from_str(&content).ok();
657 Err(Error::ResponseError(ResponseContent { status, content, entity }))
658 }
659}
660
661pub async fn create_native_login_flow(configuration: &configuration::Configuration, refresh: Option<bool>, aal: Option<&str>, x_session_token: Option<&str>, return_session_token_exchange_code: Option<bool>, return_to: Option<&str>, organization: Option<&str>, via: Option<&str>, identity_schema: Option<&str>) -> Result<models::LoginFlow, Error<CreateNativeLoginFlowError>> {
663 let p_refresh = refresh;
665 let p_aal = aal;
666 let p_x_session_token = x_session_token;
667 let p_return_session_token_exchange_code = return_session_token_exchange_code;
668 let p_return_to = return_to;
669 let p_organization = organization;
670 let p_via = via;
671 let p_identity_schema = identity_schema;
672
673 let uri_str = format!("{}/self-service/login/api", configuration.base_path);
674 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
675
676 if let Some(ref param_value) = p_refresh {
677 req_builder = req_builder.query(&[("refresh", ¶m_value.to_string())]);
678 }
679 if let Some(ref param_value) = p_aal {
680 req_builder = req_builder.query(&[("aal", ¶m_value.to_string())]);
681 }
682 if let Some(ref param_value) = p_return_session_token_exchange_code {
683 req_builder = req_builder.query(&[("return_session_token_exchange_code", ¶m_value.to_string())]);
684 }
685 if let Some(ref param_value) = p_return_to {
686 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
687 }
688 if let Some(ref param_value) = p_organization {
689 req_builder = req_builder.query(&[("organization", ¶m_value.to_string())]);
690 }
691 if let Some(ref param_value) = p_via {
692 req_builder = req_builder.query(&[("via", ¶m_value.to_string())]);
693 }
694 if let Some(ref param_value) = p_identity_schema {
695 req_builder = req_builder.query(&[("identity_schema", ¶m_value.to_string())]);
696 }
697 if let Some(ref user_agent) = configuration.user_agent {
698 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
699 }
700 if let Some(param_value) = p_x_session_token {
701 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
702 }
703
704 let req = req_builder.build()?;
705 let resp = configuration.client.execute(req).await?;
706
707 let status = resp.status();
708 let content_type = resp
709 .headers()
710 .get("content-type")
711 .and_then(|v| v.to_str().ok())
712 .unwrap_or("application/octet-stream");
713 let content_type = super::ContentType::from(content_type);
714
715 if !status.is_client_error() && !status.is_server_error() {
716 let content = resp.text().await?;
717 match content_type {
718 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
719 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LoginFlow`"))),
720 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LoginFlow`")))),
721 }
722 } else {
723 let content = resp.text().await?;
724 let entity: Option<CreateNativeLoginFlowError> = serde_json::from_str(&content).ok();
725 Err(Error::ResponseError(ResponseContent { status, content, entity }))
726 }
727}
728
729pub async fn create_native_recovery_flow(configuration: &configuration::Configuration, ) -> Result<models::RecoveryFlow, Error<CreateNativeRecoveryFlowError>> {
731
732 let uri_str = format!("{}/self-service/recovery/api", configuration.base_path);
733 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
734
735 if let Some(ref user_agent) = configuration.user_agent {
736 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
737 }
738
739 let req = req_builder.build()?;
740 let resp = configuration.client.execute(req).await?;
741
742 let status = resp.status();
743 let content_type = resp
744 .headers()
745 .get("content-type")
746 .and_then(|v| v.to_str().ok())
747 .unwrap_or("application/octet-stream");
748 let content_type = super::ContentType::from(content_type);
749
750 if !status.is_client_error() && !status.is_server_error() {
751 let content = resp.text().await?;
752 match content_type {
753 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
754 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RecoveryFlow`"))),
755 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RecoveryFlow`")))),
756 }
757 } else {
758 let content = resp.text().await?;
759 let entity: Option<CreateNativeRecoveryFlowError> = serde_json::from_str(&content).ok();
760 Err(Error::ResponseError(ResponseContent { status, content, entity }))
761 }
762}
763
764pub async fn create_native_registration_flow(configuration: &configuration::Configuration, return_session_token_exchange_code: Option<bool>, return_to: Option<&str>, organization: Option<&str>, identity_schema: Option<&str>) -> Result<models::RegistrationFlow, Error<CreateNativeRegistrationFlowError>> {
766 let p_return_session_token_exchange_code = return_session_token_exchange_code;
768 let p_return_to = return_to;
769 let p_organization = organization;
770 let p_identity_schema = identity_schema;
771
772 let uri_str = format!("{}/self-service/registration/api", configuration.base_path);
773 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
774
775 if let Some(ref param_value) = p_return_session_token_exchange_code {
776 req_builder = req_builder.query(&[("return_session_token_exchange_code", ¶m_value.to_string())]);
777 }
778 if let Some(ref param_value) = p_return_to {
779 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
780 }
781 if let Some(ref param_value) = p_organization {
782 req_builder = req_builder.query(&[("organization", ¶m_value.to_string())]);
783 }
784 if let Some(ref param_value) = p_identity_schema {
785 req_builder = req_builder.query(&[("identity_schema", ¶m_value.to_string())]);
786 }
787 if let Some(ref user_agent) = configuration.user_agent {
788 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
789 }
790
791 let req = req_builder.build()?;
792 let resp = configuration.client.execute(req).await?;
793
794 let status = resp.status();
795 let content_type = resp
796 .headers()
797 .get("content-type")
798 .and_then(|v| v.to_str().ok())
799 .unwrap_or("application/octet-stream");
800 let content_type = super::ContentType::from(content_type);
801
802 if !status.is_client_error() && !status.is_server_error() {
803 let content = resp.text().await?;
804 match content_type {
805 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
806 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RegistrationFlow`"))),
807 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RegistrationFlow`")))),
808 }
809 } else {
810 let content = resp.text().await?;
811 let entity: Option<CreateNativeRegistrationFlowError> = serde_json::from_str(&content).ok();
812 Err(Error::ResponseError(ResponseContent { status, content, entity }))
813 }
814}
815
816pub async fn create_native_settings_flow(configuration: &configuration::Configuration, x_session_token: Option<&str>) -> Result<models::SettingsFlow, Error<CreateNativeSettingsFlowError>> {
818 let p_x_session_token = x_session_token;
820
821 let uri_str = format!("{}/self-service/settings/api", configuration.base_path);
822 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
823
824 if let Some(ref user_agent) = configuration.user_agent {
825 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
826 }
827 if let Some(param_value) = p_x_session_token {
828 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
829 }
830
831 let req = req_builder.build()?;
832 let resp = configuration.client.execute(req).await?;
833
834 let status = resp.status();
835 let content_type = resp
836 .headers()
837 .get("content-type")
838 .and_then(|v| v.to_str().ok())
839 .unwrap_or("application/octet-stream");
840 let content_type = super::ContentType::from(content_type);
841
842 if !status.is_client_error() && !status.is_server_error() {
843 let content = resp.text().await?;
844 match content_type {
845 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
846 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SettingsFlow`"))),
847 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SettingsFlow`")))),
848 }
849 } else {
850 let content = resp.text().await?;
851 let entity: Option<CreateNativeSettingsFlowError> = serde_json::from_str(&content).ok();
852 Err(Error::ResponseError(ResponseContent { status, content, entity }))
853 }
854}
855
856pub async fn create_native_verification_flow(configuration: &configuration::Configuration, return_to: Option<&str>) -> Result<models::VerificationFlow, Error<CreateNativeVerificationFlowError>> {
858 let p_return_to = return_to;
860
861 let uri_str = format!("{}/self-service/verification/api", configuration.base_path);
862 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
863
864 if let Some(ref param_value) = p_return_to {
865 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
866 }
867 if let Some(ref user_agent) = configuration.user_agent {
868 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
869 }
870
871 let req = req_builder.build()?;
872 let resp = configuration.client.execute(req).await?;
873
874 let status = resp.status();
875 let content_type = resp
876 .headers()
877 .get("content-type")
878 .and_then(|v| v.to_str().ok())
879 .unwrap_or("application/octet-stream");
880 let content_type = super::ContentType::from(content_type);
881
882 if !status.is_client_error() && !status.is_server_error() {
883 let content = resp.text().await?;
884 match content_type {
885 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
886 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::VerificationFlow`"))),
887 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::VerificationFlow`")))),
888 }
889 } else {
890 let content = resp.text().await?;
891 let entity: Option<CreateNativeVerificationFlowError> = serde_json::from_str(&content).ok();
892 Err(Error::ResponseError(ResponseContent { status, content, entity }))
893 }
894}
895
896pub async fn disable_my_other_sessions(configuration: &configuration::Configuration, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<models::DeleteMySessionsCount, Error<DisableMyOtherSessionsError>> {
898 let p_x_session_token = x_session_token;
900 let p_cookie = cookie;
901
902 let uri_str = format!("{}/sessions", configuration.base_path);
903 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
904
905 if let Some(ref user_agent) = configuration.user_agent {
906 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
907 }
908 if let Some(param_value) = p_x_session_token {
909 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
910 }
911 if let Some(param_value) = p_cookie {
912 req_builder = req_builder.header("Cookie", param_value.to_string());
913 }
914
915 let req = req_builder.build()?;
916 let resp = configuration.client.execute(req).await?;
917
918 let status = resp.status();
919 let content_type = resp
920 .headers()
921 .get("content-type")
922 .and_then(|v| v.to_str().ok())
923 .unwrap_or("application/octet-stream");
924 let content_type = super::ContentType::from(content_type);
925
926 if !status.is_client_error() && !status.is_server_error() {
927 let content = resp.text().await?;
928 match content_type {
929 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
930 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::DeleteMySessionsCount`"))),
931 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::DeleteMySessionsCount`")))),
932 }
933 } else {
934 let content = resp.text().await?;
935 let entity: Option<DisableMyOtherSessionsError> = serde_json::from_str(&content).ok();
936 Err(Error::ResponseError(ResponseContent { status, content, entity }))
937 }
938}
939
940pub async fn disable_my_session(configuration: &configuration::Configuration, id: &str, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<(), Error<DisableMySessionError>> {
942 let p_id = id;
944 let p_x_session_token = x_session_token;
945 let p_cookie = cookie;
946
947 let uri_str = format!("{}/sessions/{id}", configuration.base_path, id=crate::apis::urlencode(p_id));
948 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
949
950 if let Some(ref user_agent) = configuration.user_agent {
951 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
952 }
953 if let Some(param_value) = p_x_session_token {
954 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
955 }
956 if let Some(param_value) = p_cookie {
957 req_builder = req_builder.header("Cookie", param_value.to_string());
958 }
959
960 let req = req_builder.build()?;
961 let resp = configuration.client.execute(req).await?;
962
963 let status = resp.status();
964
965 if !status.is_client_error() && !status.is_server_error() {
966 Ok(())
967 } else {
968 let content = resp.text().await?;
969 let entity: Option<DisableMySessionError> = serde_json::from_str(&content).ok();
970 Err(Error::ResponseError(ResponseContent { status, content, entity }))
971 }
972}
973
974pub async fn exchange_session_token(configuration: &configuration::Configuration, init_code: &str, return_to_code: &str) -> Result<models::SuccessfulNativeLogin, Error<ExchangeSessionTokenError>> {
975 let p_init_code = init_code;
977 let p_return_to_code = return_to_code;
978
979 let uri_str = format!("{}/sessions/token-exchange", configuration.base_path);
980 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
981
982 req_builder = req_builder.query(&[("init_code", &p_init_code.to_string())]);
983 req_builder = req_builder.query(&[("return_to_code", &p_return_to_code.to_string())]);
984 if let Some(ref user_agent) = configuration.user_agent {
985 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
986 }
987
988 let req = req_builder.build()?;
989 let resp = configuration.client.execute(req).await?;
990
991 let status = resp.status();
992 let content_type = resp
993 .headers()
994 .get("content-type")
995 .and_then(|v| v.to_str().ok())
996 .unwrap_or("application/octet-stream");
997 let content_type = super::ContentType::from(content_type);
998
999 if !status.is_client_error() && !status.is_server_error() {
1000 let content = resp.text().await?;
1001 match content_type {
1002 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1003 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SuccessfulNativeLogin`"))),
1004 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SuccessfulNativeLogin`")))),
1005 }
1006 } else {
1007 let content = resp.text().await?;
1008 let entity: Option<ExchangeSessionTokenError> = serde_json::from_str(&content).ok();
1009 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1010 }
1011}
1012
1013pub async fn get_flow_error(configuration: &configuration::Configuration, id: &str) -> Result<models::FlowError, Error<GetFlowErrorError>> {
1015 let p_id = id;
1017
1018 let uri_str = format!("{}/self-service/errors", configuration.base_path);
1019 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1020
1021 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1022 if let Some(ref user_agent) = configuration.user_agent {
1023 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1024 }
1025
1026 let req = req_builder.build()?;
1027 let resp = configuration.client.execute(req).await?;
1028
1029 let status = resp.status();
1030 let content_type = resp
1031 .headers()
1032 .get("content-type")
1033 .and_then(|v| v.to_str().ok())
1034 .unwrap_or("application/octet-stream");
1035 let content_type = super::ContentType::from(content_type);
1036
1037 if !status.is_client_error() && !status.is_server_error() {
1038 let content = resp.text().await?;
1039 match content_type {
1040 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1041 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::FlowError`"))),
1042 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::FlowError`")))),
1043 }
1044 } else {
1045 let content = resp.text().await?;
1046 let entity: Option<GetFlowErrorError> = serde_json::from_str(&content).ok();
1047 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1048 }
1049}
1050
1051pub async fn get_login_flow(configuration: &configuration::Configuration, id: &str, cookie: Option<&str>) -> Result<models::LoginFlow, Error<GetLoginFlowError>> {
1053 let p_id = id;
1055 let p_cookie = cookie;
1056
1057 let uri_str = format!("{}/self-service/login/flows", configuration.base_path);
1058 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1059
1060 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1061 if let Some(ref user_agent) = configuration.user_agent {
1062 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1063 }
1064 if let Some(param_value) = p_cookie {
1065 req_builder = req_builder.header("Cookie", param_value.to_string());
1066 }
1067
1068 let req = req_builder.build()?;
1069 let resp = configuration.client.execute(req).await?;
1070
1071 let status = resp.status();
1072 let content_type = resp
1073 .headers()
1074 .get("content-type")
1075 .and_then(|v| v.to_str().ok())
1076 .unwrap_or("application/octet-stream");
1077 let content_type = super::ContentType::from(content_type);
1078
1079 if !status.is_client_error() && !status.is_server_error() {
1080 let content = resp.text().await?;
1081 match content_type {
1082 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1083 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LoginFlow`"))),
1084 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LoginFlow`")))),
1085 }
1086 } else {
1087 let content = resp.text().await?;
1088 let entity: Option<GetLoginFlowError> = serde_json::from_str(&content).ok();
1089 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1090 }
1091}
1092
1093pub async fn get_recovery_flow(configuration: &configuration::Configuration, id: &str, cookie: Option<&str>) -> Result<models::RecoveryFlow, Error<GetRecoveryFlowError>> {
1095 let p_id = id;
1097 let p_cookie = cookie;
1098
1099 let uri_str = format!("{}/self-service/recovery/flows", configuration.base_path);
1100 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1101
1102 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1103 if let Some(ref user_agent) = configuration.user_agent {
1104 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1105 }
1106 if let Some(param_value) = p_cookie {
1107 req_builder = req_builder.header("Cookie", param_value.to_string());
1108 }
1109
1110 let req = req_builder.build()?;
1111 let resp = configuration.client.execute(req).await?;
1112
1113 let status = resp.status();
1114 let content_type = resp
1115 .headers()
1116 .get("content-type")
1117 .and_then(|v| v.to_str().ok())
1118 .unwrap_or("application/octet-stream");
1119 let content_type = super::ContentType::from(content_type);
1120
1121 if !status.is_client_error() && !status.is_server_error() {
1122 let content = resp.text().await?;
1123 match content_type {
1124 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1125 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RecoveryFlow`"))),
1126 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RecoveryFlow`")))),
1127 }
1128 } else {
1129 let content = resp.text().await?;
1130 let entity: Option<GetRecoveryFlowError> = serde_json::from_str(&content).ok();
1131 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1132 }
1133}
1134
1135pub async fn get_registration_flow(configuration: &configuration::Configuration, id: &str, cookie: Option<&str>) -> Result<models::RegistrationFlow, Error<GetRegistrationFlowError>> {
1137 let p_id = id;
1139 let p_cookie = cookie;
1140
1141 let uri_str = format!("{}/self-service/registration/flows", configuration.base_path);
1142 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1143
1144 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1145 if let Some(ref user_agent) = configuration.user_agent {
1146 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1147 }
1148 if let Some(param_value) = p_cookie {
1149 req_builder = req_builder.header("Cookie", param_value.to_string());
1150 }
1151
1152 let req = req_builder.build()?;
1153 let resp = configuration.client.execute(req).await?;
1154
1155 let status = resp.status();
1156 let content_type = resp
1157 .headers()
1158 .get("content-type")
1159 .and_then(|v| v.to_str().ok())
1160 .unwrap_or("application/octet-stream");
1161 let content_type = super::ContentType::from(content_type);
1162
1163 if !status.is_client_error() && !status.is_server_error() {
1164 let content = resp.text().await?;
1165 match content_type {
1166 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1167 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RegistrationFlow`"))),
1168 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RegistrationFlow`")))),
1169 }
1170 } else {
1171 let content = resp.text().await?;
1172 let entity: Option<GetRegistrationFlowError> = serde_json::from_str(&content).ok();
1173 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1174 }
1175}
1176
1177pub async fn get_settings_flow(configuration: &configuration::Configuration, id: &str, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<models::SettingsFlow, Error<GetSettingsFlowError>> {
1179 let p_id = id;
1181 let p_x_session_token = x_session_token;
1182 let p_cookie = cookie;
1183
1184 let uri_str = format!("{}/self-service/settings/flows", configuration.base_path);
1185 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1186
1187 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1188 if let Some(ref user_agent) = configuration.user_agent {
1189 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1190 }
1191 if let Some(param_value) = p_x_session_token {
1192 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
1193 }
1194 if let Some(param_value) = p_cookie {
1195 req_builder = req_builder.header("Cookie", param_value.to_string());
1196 }
1197
1198 let req = req_builder.build()?;
1199 let resp = configuration.client.execute(req).await?;
1200
1201 let status = resp.status();
1202 let content_type = resp
1203 .headers()
1204 .get("content-type")
1205 .and_then(|v| v.to_str().ok())
1206 .unwrap_or("application/octet-stream");
1207 let content_type = super::ContentType::from(content_type);
1208
1209 if !status.is_client_error() && !status.is_server_error() {
1210 let content = resp.text().await?;
1211 match content_type {
1212 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1213 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SettingsFlow`"))),
1214 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SettingsFlow`")))),
1215 }
1216 } else {
1217 let content = resp.text().await?;
1218 let entity: Option<GetSettingsFlowError> = serde_json::from_str(&content).ok();
1219 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1220 }
1221}
1222
1223pub async fn get_verification_flow(configuration: &configuration::Configuration, id: &str, cookie: Option<&str>) -> Result<models::VerificationFlow, Error<GetVerificationFlowError>> {
1225 let p_id = id;
1227 let p_cookie = cookie;
1228
1229 let uri_str = format!("{}/self-service/verification/flows", configuration.base_path);
1230 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1231
1232 req_builder = req_builder.query(&[("id", &p_id.to_string())]);
1233 if let Some(ref user_agent) = configuration.user_agent {
1234 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1235 }
1236 if let Some(param_value) = p_cookie {
1237 req_builder = req_builder.header("cookie", param_value.to_string());
1238 }
1239
1240 let req = req_builder.build()?;
1241 let resp = configuration.client.execute(req).await?;
1242
1243 let status = resp.status();
1244 let content_type = resp
1245 .headers()
1246 .get("content-type")
1247 .and_then(|v| v.to_str().ok())
1248 .unwrap_or("application/octet-stream");
1249 let content_type = super::ContentType::from(content_type);
1250
1251 if !status.is_client_error() && !status.is_server_error() {
1252 let content = resp.text().await?;
1253 match content_type {
1254 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1255 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::VerificationFlow`"))),
1256 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::VerificationFlow`")))),
1257 }
1258 } else {
1259 let content = resp.text().await?;
1260 let entity: Option<GetVerificationFlowError> = serde_json::from_str(&content).ok();
1261 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1262 }
1263}
1264
1265pub async fn get_web_authn_java_script(configuration: &configuration::Configuration, ) -> Result<String, Error<GetWebAuthnJavaScriptError>> {
1267
1268 let uri_str = format!("{}/.well-known/ory/webauthn.js", configuration.base_path);
1269 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1270
1271 if let Some(ref user_agent) = configuration.user_agent {
1272 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1273 }
1274
1275 let req = req_builder.build()?;
1276 let resp = configuration.client.execute(req).await?;
1277
1278 let status = resp.status();
1279 let content_type = resp
1280 .headers()
1281 .get("content-type")
1282 .and_then(|v| v.to_str().ok())
1283 .unwrap_or("application/octet-stream");
1284 let content_type = super::ContentType::from(content_type);
1285
1286 if !status.is_client_error() && !status.is_server_error() {
1287 let content = resp.text().await?;
1288 match content_type {
1289 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1290 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `String`"))),
1291 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `String`")))),
1292 }
1293 } else {
1294 let content = resp.text().await?;
1295 let entity: Option<GetWebAuthnJavaScriptError> = serde_json::from_str(&content).ok();
1296 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1297 }
1298}
1299
1300pub async fn list_my_sessions(configuration: &configuration::Configuration, per_page: Option<i64>, page: Option<i64>, page_size: Option<i64>, page_token: Option<&str>, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<Vec<models::Session>, Error<ListMySessionsError>> {
1302 let p_per_page = per_page;
1304 let p_page = page;
1305 let p_page_size = page_size;
1306 let p_page_token = page_token;
1307 let p_x_session_token = x_session_token;
1308 let p_cookie = cookie;
1309
1310 let uri_str = format!("{}/sessions", configuration.base_path);
1311 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1312
1313 if let Some(ref param_value) = p_per_page {
1314 req_builder = req_builder.query(&[("per_page", ¶m_value.to_string())]);
1315 }
1316 if let Some(ref param_value) = p_page {
1317 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
1318 }
1319 if let Some(ref param_value) = p_page_size {
1320 req_builder = req_builder.query(&[("page_size", ¶m_value.to_string())]);
1321 }
1322 if let Some(ref param_value) = p_page_token {
1323 req_builder = req_builder.query(&[("page_token", ¶m_value.to_string())]);
1324 }
1325 if let Some(ref user_agent) = configuration.user_agent {
1326 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1327 }
1328 if let Some(param_value) = p_x_session_token {
1329 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
1330 }
1331 if let Some(param_value) = p_cookie {
1332 req_builder = req_builder.header("Cookie", param_value.to_string());
1333 }
1334
1335 let req = req_builder.build()?;
1336 let resp = configuration.client.execute(req).await?;
1337
1338 let status = resp.status();
1339 let content_type = resp
1340 .headers()
1341 .get("content-type")
1342 .and_then(|v| v.to_str().ok())
1343 .unwrap_or("application/octet-stream");
1344 let content_type = super::ContentType::from(content_type);
1345
1346 if !status.is_client_error() && !status.is_server_error() {
1347 let content = resp.text().await?;
1348 match content_type {
1349 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1350 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Session>`"))),
1351 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::Session>`")))),
1352 }
1353 } else {
1354 let content = resp.text().await?;
1355 let entity: Option<ListMySessionsError> = serde_json::from_str(&content).ok();
1356 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1357 }
1358}
1359
1360pub async fn perform_native_logout(configuration: &configuration::Configuration, perform_native_logout_body: models::PerformNativeLogoutBody) -> Result<(), Error<PerformNativeLogoutError>> {
1362 let p_perform_native_logout_body = perform_native_logout_body;
1364
1365 let uri_str = format!("{}/self-service/logout/api", configuration.base_path);
1366 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
1367
1368 if let Some(ref user_agent) = configuration.user_agent {
1369 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1370 }
1371 req_builder = req_builder.json(&p_perform_native_logout_body);
1372
1373 let req = req_builder.build()?;
1374 let resp = configuration.client.execute(req).await?;
1375
1376 let status = resp.status();
1377
1378 if !status.is_client_error() && !status.is_server_error() {
1379 Ok(())
1380 } else {
1381 let content = resp.text().await?;
1382 let entity: Option<PerformNativeLogoutError> = serde_json::from_str(&content).ok();
1383 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1384 }
1385}
1386
1387pub async fn to_session(configuration: &configuration::Configuration, x_session_token: Option<&str>, cookie: Option<&str>, tokenize_as: Option<&str>) -> Result<models::Session, Error<ToSessionError>> {
1389 let p_x_session_token = x_session_token;
1391 let p_cookie = cookie;
1392 let p_tokenize_as = tokenize_as;
1393
1394 let uri_str = format!("{}/sessions/whoami", configuration.base_path);
1395 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1396
1397 if let Some(ref param_value) = p_tokenize_as {
1398 req_builder = req_builder.query(&[("tokenize_as", ¶m_value.to_string())]);
1399 }
1400 if let Some(ref user_agent) = configuration.user_agent {
1401 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1402 }
1403 if let Some(param_value) = p_x_session_token {
1404 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
1405 }
1406 if let Some(param_value) = p_cookie {
1407 req_builder = req_builder.header("Cookie", param_value.to_string());
1408 }
1409
1410 let req = req_builder.build()?;
1411 let resp = configuration.client.execute(req).await?;
1412
1413 let status = resp.status();
1414 let content_type = resp
1415 .headers()
1416 .get("content-type")
1417 .and_then(|v| v.to_str().ok())
1418 .unwrap_or("application/octet-stream");
1419 let content_type = super::ContentType::from(content_type);
1420
1421 if !status.is_client_error() && !status.is_server_error() {
1422 let content = resp.text().await?;
1423 match content_type {
1424 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1425 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Session`"))),
1426 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Session`")))),
1427 }
1428 } else {
1429 let content = resp.text().await?;
1430 let entity: Option<ToSessionError> = serde_json::from_str(&content).ok();
1431 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1432 }
1433}
1434
1435pub async fn update_fedcm_flow(configuration: &configuration::Configuration, update_fedcm_flow_body: models::UpdateFedcmFlowBody) -> Result<models::SuccessfulNativeLogin, Error<UpdateFedcmFlowError>> {
1437 let p_update_fedcm_flow_body = update_fedcm_flow_body;
1439
1440 let uri_str = format!("{}/self-service/fed-cm/token", configuration.base_path);
1441 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1442
1443 if let Some(ref user_agent) = configuration.user_agent {
1444 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1445 }
1446 req_builder = req_builder.json(&p_update_fedcm_flow_body);
1447
1448 let req = req_builder.build()?;
1449 let resp = configuration.client.execute(req).await?;
1450
1451 let status = resp.status();
1452 let content_type = resp
1453 .headers()
1454 .get("content-type")
1455 .and_then(|v| v.to_str().ok())
1456 .unwrap_or("application/octet-stream");
1457 let content_type = super::ContentType::from(content_type);
1458
1459 if !status.is_client_error() && !status.is_server_error() {
1460 let content = resp.text().await?;
1461 match content_type {
1462 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1463 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SuccessfulNativeLogin`"))),
1464 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SuccessfulNativeLogin`")))),
1465 }
1466 } else {
1467 let content = resp.text().await?;
1468 let entity: Option<UpdateFedcmFlowError> = serde_json::from_str(&content).ok();
1469 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1470 }
1471}
1472
1473pub async fn update_login_flow(configuration: &configuration::Configuration, flow: &str, update_login_flow_body: models::UpdateLoginFlowBody, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<models::SuccessfulNativeLogin, Error<UpdateLoginFlowError>> {
1475 let p_flow = flow;
1477 let p_update_login_flow_body = update_login_flow_body;
1478 let p_x_session_token = x_session_token;
1479 let p_cookie = cookie;
1480
1481 let uri_str = format!("{}/self-service/login", configuration.base_path);
1482 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1483
1484 req_builder = req_builder.query(&[("flow", &p_flow.to_string())]);
1485 if let Some(ref user_agent) = configuration.user_agent {
1486 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1487 }
1488 if let Some(param_value) = p_x_session_token {
1489 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
1490 }
1491 if let Some(param_value) = p_cookie {
1492 req_builder = req_builder.header("Cookie", param_value.to_string());
1493 }
1494 req_builder = req_builder.json(&p_update_login_flow_body);
1495
1496 let req = req_builder.build()?;
1497 let resp = configuration.client.execute(req).await?;
1498
1499 let status = resp.status();
1500 let content_type = resp
1501 .headers()
1502 .get("content-type")
1503 .and_then(|v| v.to_str().ok())
1504 .unwrap_or("application/octet-stream");
1505 let content_type = super::ContentType::from(content_type);
1506
1507 if !status.is_client_error() && !status.is_server_error() {
1508 let content = resp.text().await?;
1509 match content_type {
1510 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1511 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SuccessfulNativeLogin`"))),
1512 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SuccessfulNativeLogin`")))),
1513 }
1514 } else {
1515 let content = resp.text().await?;
1516 let entity: Option<UpdateLoginFlowError> = serde_json::from_str(&content).ok();
1517 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1518 }
1519}
1520
1521pub async fn update_logout_flow(configuration: &configuration::Configuration, token: Option<&str>, return_to: Option<&str>, cookie: Option<&str>) -> Result<(), Error<UpdateLogoutFlowError>> {
1523 let p_token = token;
1525 let p_return_to = return_to;
1526 let p_cookie = cookie;
1527
1528 let uri_str = format!("{}/self-service/logout", configuration.base_path);
1529 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1530
1531 if let Some(ref param_value) = p_token {
1532 req_builder = req_builder.query(&[("token", ¶m_value.to_string())]);
1533 }
1534 if let Some(ref param_value) = p_return_to {
1535 req_builder = req_builder.query(&[("return_to", ¶m_value.to_string())]);
1536 }
1537 if let Some(ref user_agent) = configuration.user_agent {
1538 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1539 }
1540 if let Some(param_value) = p_cookie {
1541 req_builder = req_builder.header("Cookie", param_value.to_string());
1542 }
1543
1544 let req = req_builder.build()?;
1545 let resp = configuration.client.execute(req).await?;
1546
1547 let status = resp.status();
1548
1549 if !status.is_client_error() && !status.is_server_error() {
1550 Ok(())
1551 } else {
1552 let content = resp.text().await?;
1553 let entity: Option<UpdateLogoutFlowError> = serde_json::from_str(&content).ok();
1554 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1555 }
1556}
1557
1558pub async fn update_recovery_flow(configuration: &configuration::Configuration, flow: &str, update_recovery_flow_body: models::UpdateRecoveryFlowBody, token: Option<&str>, cookie: Option<&str>) -> Result<models::RecoveryFlow, Error<UpdateRecoveryFlowError>> {
1560 let p_flow = flow;
1562 let p_update_recovery_flow_body = update_recovery_flow_body;
1563 let p_token = token;
1564 let p_cookie = cookie;
1565
1566 let uri_str = format!("{}/self-service/recovery", configuration.base_path);
1567 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1568
1569 req_builder = req_builder.query(&[("flow", &p_flow.to_string())]);
1570 if let Some(ref param_value) = p_token {
1571 req_builder = req_builder.query(&[("token", ¶m_value.to_string())]);
1572 }
1573 if let Some(ref user_agent) = configuration.user_agent {
1574 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1575 }
1576 if let Some(param_value) = p_cookie {
1577 req_builder = req_builder.header("Cookie", param_value.to_string());
1578 }
1579 req_builder = req_builder.json(&p_update_recovery_flow_body);
1580
1581 let req = req_builder.build()?;
1582 let resp = configuration.client.execute(req).await?;
1583
1584 let status = resp.status();
1585 let content_type = resp
1586 .headers()
1587 .get("content-type")
1588 .and_then(|v| v.to_str().ok())
1589 .unwrap_or("application/octet-stream");
1590 let content_type = super::ContentType::from(content_type);
1591
1592 if !status.is_client_error() && !status.is_server_error() {
1593 let content = resp.text().await?;
1594 match content_type {
1595 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1596 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RecoveryFlow`"))),
1597 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RecoveryFlow`")))),
1598 }
1599 } else {
1600 let content = resp.text().await?;
1601 let entity: Option<UpdateRecoveryFlowError> = serde_json::from_str(&content).ok();
1602 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1603 }
1604}
1605
1606pub async fn update_registration_flow(configuration: &configuration::Configuration, flow: &str, update_registration_flow_body: models::UpdateRegistrationFlowBody, cookie: Option<&str>) -> Result<models::SuccessfulNativeRegistration, Error<UpdateRegistrationFlowError>> {
1608 let p_flow = flow;
1610 let p_update_registration_flow_body = update_registration_flow_body;
1611 let p_cookie = cookie;
1612
1613 let uri_str = format!("{}/self-service/registration", configuration.base_path);
1614 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1615
1616 req_builder = req_builder.query(&[("flow", &p_flow.to_string())]);
1617 if let Some(ref user_agent) = configuration.user_agent {
1618 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1619 }
1620 if let Some(param_value) = p_cookie {
1621 req_builder = req_builder.header("Cookie", param_value.to_string());
1622 }
1623 req_builder = req_builder.json(&p_update_registration_flow_body);
1624
1625 let req = req_builder.build()?;
1626 let resp = configuration.client.execute(req).await?;
1627
1628 let status = resp.status();
1629 let content_type = resp
1630 .headers()
1631 .get("content-type")
1632 .and_then(|v| v.to_str().ok())
1633 .unwrap_or("application/octet-stream");
1634 let content_type = super::ContentType::from(content_type);
1635
1636 if !status.is_client_error() && !status.is_server_error() {
1637 let content = resp.text().await?;
1638 match content_type {
1639 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1640 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SuccessfulNativeRegistration`"))),
1641 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SuccessfulNativeRegistration`")))),
1642 }
1643 } else {
1644 let content = resp.text().await?;
1645 let entity: Option<UpdateRegistrationFlowError> = serde_json::from_str(&content).ok();
1646 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1647 }
1648}
1649
1650pub async fn update_settings_flow(configuration: &configuration::Configuration, flow: &str, update_settings_flow_body: models::UpdateSettingsFlowBody, x_session_token: Option<&str>, cookie: Option<&str>) -> Result<models::SettingsFlow, Error<UpdateSettingsFlowError>> {
1652 let p_flow = flow;
1654 let p_update_settings_flow_body = update_settings_flow_body;
1655 let p_x_session_token = x_session_token;
1656 let p_cookie = cookie;
1657
1658 let uri_str = format!("{}/self-service/settings", configuration.base_path);
1659 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1660
1661 req_builder = req_builder.query(&[("flow", &p_flow.to_string())]);
1662 if let Some(ref user_agent) = configuration.user_agent {
1663 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1664 }
1665 if let Some(param_value) = p_x_session_token {
1666 req_builder = req_builder.header("X-Session-Token", param_value.to_string());
1667 }
1668 if let Some(param_value) = p_cookie {
1669 req_builder = req_builder.header("Cookie", param_value.to_string());
1670 }
1671 req_builder = req_builder.json(&p_update_settings_flow_body);
1672
1673 let req = req_builder.build()?;
1674 let resp = configuration.client.execute(req).await?;
1675
1676 let status = resp.status();
1677 let content_type = resp
1678 .headers()
1679 .get("content-type")
1680 .and_then(|v| v.to_str().ok())
1681 .unwrap_or("application/octet-stream");
1682 let content_type = super::ContentType::from(content_type);
1683
1684 if !status.is_client_error() && !status.is_server_error() {
1685 let content = resp.text().await?;
1686 match content_type {
1687 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1688 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SettingsFlow`"))),
1689 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SettingsFlow`")))),
1690 }
1691 } else {
1692 let content = resp.text().await?;
1693 let entity: Option<UpdateSettingsFlowError> = serde_json::from_str(&content).ok();
1694 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1695 }
1696}
1697
1698pub async fn update_verification_flow(configuration: &configuration::Configuration, flow: &str, update_verification_flow_body: models::UpdateVerificationFlowBody, token: Option<&str>, cookie: Option<&str>) -> Result<models::VerificationFlow, Error<UpdateVerificationFlowError>> {
1700 let p_flow = flow;
1702 let p_update_verification_flow_body = update_verification_flow_body;
1703 let p_token = token;
1704 let p_cookie = cookie;
1705
1706 let uri_str = format!("{}/self-service/verification", configuration.base_path);
1707 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1708
1709 req_builder = req_builder.query(&[("flow", &p_flow.to_string())]);
1710 if let Some(ref param_value) = p_token {
1711 req_builder = req_builder.query(&[("token", ¶m_value.to_string())]);
1712 }
1713 if let Some(ref user_agent) = configuration.user_agent {
1714 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1715 }
1716 if let Some(param_value) = p_cookie {
1717 req_builder = req_builder.header("Cookie", param_value.to_string());
1718 }
1719 req_builder = req_builder.json(&p_update_verification_flow_body);
1720
1721 let req = req_builder.build()?;
1722 let resp = configuration.client.execute(req).await?;
1723
1724 let status = resp.status();
1725 let content_type = resp
1726 .headers()
1727 .get("content-type")
1728 .and_then(|v| v.to_str().ok())
1729 .unwrap_or("application/octet-stream");
1730 let content_type = super::ContentType::from(content_type);
1731
1732 if !status.is_client_error() && !status.is_server_error() {
1733 let content = resp.text().await?;
1734 match content_type {
1735 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1736 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::VerificationFlow`"))),
1737 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::VerificationFlow`")))),
1738 }
1739 } else {
1740 let content = resp.text().await?;
1741 let entity: Option<UpdateVerificationFlowError> = serde_json::from_str(&content).ok();
1742 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1743 }
1744}
1745