noah_sdk/models/
workflows.rs

1//! Workflow-related models
2
3use crate::models::common::*;
4use serde::{Deserialize, Serialize};
5
6/// Comparison operator
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
8#[serde(rename_all = "UPPERCASE")]
9pub enum ComparisonOperator {
10    /// Equals
11    Eq,
12    /// Less than or equals
13    Lteq,
14    /// Greater than or equals
15    Gteq,
16}
17
18/// Amount condition
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct AmountCondition {
21    /// Comparison operator
22    #[serde(rename = "ComparisonOperator")]
23    pub comparison_operator: ComparisonOperator,
24    /// Value
25    #[serde(rename = "Value")]
26    pub value: PositiveDecimal,
27}
28
29/// Bank deposit to onchain address request
30#[derive(Debug, Clone, Serialize, Deserialize)]
31pub struct BankDepositToOnchainAddressRequest {
32    /// Customer ID
33    #[serde(rename = "CustomerID")]
34    pub customer_id: CustomerID,
35    /// Fiat currency
36    #[serde(rename = "FiatCurrency")]
37    pub fiat_currency: FiatCurrencyCode,
38    /// Cryptocurrency
39    #[serde(rename = "CryptoCurrency")]
40    pub crypto_currency: CryptoCurrencyCode,
41    /// Network
42    #[serde(rename = "Network")]
43    pub network: Network,
44    /// Destination address
45    #[serde(rename = "DestinationAddress")]
46    pub destination_address: DestinationAddress,
47}
48
49/// Bank deposit to onchain address response
50#[derive(Debug, Clone, Serialize, Deserialize)]
51pub struct BankDepositToOnchainAddressResponse {
52    /// Payment method ID
53    #[serde(rename = "PaymentMethodID")]
54    pub payment_method_id: PaymentMethodID,
55    /// Payment method type
56    #[serde(rename = "PaymentMethodType")]
57    pub payment_method_type: PaymentMethodType,
58    /// Reference (optional)
59    #[serde(rename = "Reference")]
60    pub reference: Option<String>,
61    /// Account number
62    #[serde(rename = "AccountNumber")]
63    pub account_number: String,
64    /// Account holder name (optional)
65    #[serde(rename = "AccountHolderName")]
66    pub account_holder_name: Option<String>,
67    /// Bank code (optional)
68    #[serde(rename = "BankCode")]
69    pub bank_code: Option<String>,
70    /// Bank name (optional)
71    #[serde(rename = "BankName")]
72    pub bank_name: Option<String>,
73    /// Bank address (optional)
74    #[serde(rename = "BankAddress")]
75    pub bank_address: Option<crate::models::customers::StreetAddress>,
76}