plaid/request/
transfer_diligence_submit.rs1use crate::FluentRequest;
2use serde::{Serialize, Deserialize};
3use httpclient::InMemoryResponseExt;
4use crate::model::TransferOriginatorDiligence;
5#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct TransferDiligenceSubmitRequest {
10 pub originator_client_id: String,
11 pub originator_diligence: TransferOriginatorDiligence,
12}
13impl FluentRequest<'_, TransferDiligenceSubmitRequest> {}
14impl<'a> ::std::future::IntoFuture
15for FluentRequest<'a, TransferDiligenceSubmitRequest> {
16 type Output = httpclient::InMemoryResult<
17 crate::model::TransferDiligenceSubmitResponse,
18 >;
19 type IntoFuture = ::futures::future::BoxFuture<'a, Self::Output>;
20 fn into_future(self) -> Self::IntoFuture {
21 Box::pin(async move {
22 let url = "/transfer/diligence/submit";
23 let mut r = self.client.client.post(url);
24 r = r
25 .json(
26 serde_json::json!(
27 { "originator_client_id" : self.params.originator_client_id }
28 ),
29 );
30 r = r
31 .json(
32 serde_json::json!(
33 { "originator_diligence" : self.params.originator_diligence }
34 ),
35 );
36 r = self.client.authenticate(r);
37 let res = r.await?;
38 res.json().map_err(Into::into)
39 })
40 }
41}
42impl crate::PlaidClient {
43 pub fn transfer_diligence_submit(
49 &self,
50 originator_client_id: &str,
51 originator_diligence: TransferOriginatorDiligence,
52 ) -> FluentRequest<'_, TransferDiligenceSubmitRequest> {
53 FluentRequest {
54 client: self,
55 params: TransferDiligenceSubmitRequest {
56 originator_client_id: originator_client_id.to_owned(),
57 originator_diligence,
58 },
59 }
60 }
61}