plaid/request/
credit_payroll_income_parsing_config_update.rs1use crate::FluentRequest;
2use serde::{Serialize, Deserialize};
3use httpclient::InMemoryResponseExt;
4use crate::model::IncomeVerificationDocParsingConfig;
5#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct CreditPayrollIncomeParsingConfigUpdateRequest {
10 pub item_id: Option<String>,
11 pub parsing_config: Vec<IncomeVerificationDocParsingConfig>,
12 pub user_token: String,
13}
14impl FluentRequest<'_, CreditPayrollIncomeParsingConfigUpdateRequest> {
15 pub fn item_id(mut self, item_id: &str) -> Self {
17 self.params.item_id = Some(item_id.to_owned());
18 self
19 }
20}
21impl<'a> ::std::future::IntoFuture
22for FluentRequest<'a, CreditPayrollIncomeParsingConfigUpdateRequest> {
23 type Output = httpclient::InMemoryResult<
24 crate::model::CreditPayrollIncomeParsingConfigUpdateResponse,
25 >;
26 type IntoFuture = ::futures::future::BoxFuture<'a, Self::Output>;
27 fn into_future(self) -> Self::IntoFuture {
28 Box::pin(async move {
29 let url = "/credit/payroll_income/parsing_config/update";
30 let mut r = self.client.client.post(url);
31 if let Some(ref unwrapped) = self.params.item_id {
32 r = r.json(serde_json::json!({ "item_id" : unwrapped }));
33 }
34 r = r
35 .json(
36 serde_json::json!({ "parsing_config" : self.params.parsing_config }),
37 );
38 r = r.json(serde_json::json!({ "user_token" : self.params.user_token }));
39 r = self.client.authenticate(r);
40 let res = r.await?;
41 res.json().map_err(Into::into)
42 })
43 }
44}
45impl crate::PlaidClient {
46 pub fn credit_payroll_income_parsing_config_update(
52 &self,
53 parsing_config: Vec<IncomeVerificationDocParsingConfig>,
54 user_token: &str,
55 ) -> FluentRequest<'_, CreditPayrollIncomeParsingConfigUpdateRequest> {
56 FluentRequest {
57 client: self,
58 params: CreditPayrollIncomeParsingConfigUpdateRequest {
59 item_id: None,
60 parsing_config,
61 user_token: user_token.to_owned(),
62 },
63 }
64 }
65}