ya_client_model/payment/
params.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Deserializer, Serialize};
3
4pub const DEFAULT_ACK_TIMEOUT: f64 = 15.0; pub const DEFAULT_EVENT_TIMEOUT: f64 = 5.0; #[derive(Deserialize, Serialize)]
8pub struct DebitNoteId {
9 pub debit_note_id: String,
10}
11
12#[derive(Deserialize, Serialize)]
13#[serde(rename_all = "camelCase")]
14pub struct DebitNotePaymentsParams {
15 pub debit_note_id: String,
16 #[serde(default)]
17 pub max_items: Option<u32>,
18 #[serde(default)]
19 pub after_timestamp: Option<DateTime<Utc>>,
20}
21
22#[derive(Deserialize, Serialize)]
23pub struct InvoiceId {
24 pub invoice_id: String,
25}
26
27#[derive(Deserialize, Serialize)]
28pub struct AllocationId {
29 pub allocation_id: String,
30}
31
32#[derive(Deserialize, Serialize)]
33pub struct PaymentId {
34 pub payment_id: String,
35}
36
37#[derive(Deserialize, Serialize)]
38pub struct Timeout {
39 #[serde(default)]
40 pub timeout: Option<f64>,
41}
42
43#[derive(Deserialize, Serialize)]
44#[serde(rename_all = "camelCase")]
45pub struct EventParams {
46 #[serde(default)]
47 pub timeout: Option<f64>,
48 #[serde(default)]
49 pub after_timestamp: Option<DateTime<Utc>>,
50 #[serde(default)]
51 pub max_events: Option<u32>,
52 #[serde(default)]
53 pub app_session_id: Option<String>,
54}
55
56#[derive(Deserialize, Serialize)]
57#[serde(rename_all = "camelCase")]
58pub struct FilterParams {
59 #[serde(default)]
60 pub max_items: Option<u32>,
61 #[serde(default)]
62 pub after_timestamp: Option<DateTime<Utc>>,
63}
64
65#[derive(Deserialize, Serialize)]
66#[serde(rename_all = "camelCase")]
67pub struct DriverNetworkParams {
68 #[serde(flatten)]
69 pub event_params: EventParams,
70 #[serde(default)]
71 pub network: Option<String>,
72 #[serde(default)]
73 pub driver: Option<String>,
74}
75
76#[derive(Deserialize, Serialize)]
77pub struct DriverStatusParams {
78 #[serde(default)]
79 pub network: Option<String>,
80 #[serde(default)]
81 pub driver: Option<String>,
82}
83
84#[derive(Deserialize, Serialize)]
85pub struct AllocationIds {
86 #[serde(
87 rename = "allocationIds",
88 deserialize_with = "deserialize_comma_separated"
89 )]
90 pub allocation_ids: Vec<String>,
91}
92
93fn deserialize_comma_separated<'de, D>(deserializer: D) -> Result<Vec<String>, D::Error>
94where
95 D: Deserializer<'de>,
96{
97 let s: &str = Deserialize::deserialize(deserializer)?;
98 Ok(s.split(',').map(str::to_string).collect())
99}