fireblocks_sdk/models/
screening_provider_rules_configuration_response.rs

1// Fireblocks API
2//
3// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ScreeningProviderRulesConfigurationResponse {
16    #[serde(rename = "direction", skip_serializing_if = "Option::is_none")]
17    pub direction: Option<Direction>,
18    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
19    pub status: Option<Status>,
20    #[serde(rename = "amountUSD", skip_serializing_if = "Option::is_none")]
21    pub amount_usd: Option<f64>,
22    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
23    pub amount: Option<f64>,
24    #[serde(rename = "asset", skip_serializing_if = "Option::is_none")]
25    pub asset: Option<String>,
26    #[serde(rename = "action")]
27    pub action: Action,
28}
29
30impl ScreeningProviderRulesConfigurationResponse {
31    pub fn new(action: Action) -> ScreeningProviderRulesConfigurationResponse {
32        ScreeningProviderRulesConfigurationResponse {
33            direction: None,
34            status: None,
35            amount_usd: None,
36            amount: None,
37            asset: None,
38            action,
39        }
40    }
41}
42///
43#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
44pub enum Direction {
45    #[serde(rename = "INBOUND")]
46    Inbound,
47    #[serde(rename = "OUTBOUND")]
48    Outbound,
49}
50
51impl Default for Direction {
52    fn default() -> Direction {
53        Self::Inbound
54    }
55}
56///
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Status {
59    #[serde(rename = "COMPLETED")]
60    Completed,
61    #[serde(rename = "PENDING")]
62    Pending,
63    #[serde(rename = "REJECTED")]
64    Rejected,
65    #[serde(rename = "FAILED")]
66    Failed,
67    #[serde(rename = "CANCELED")]
68    Canceled,
69    #[serde(rename = "BLOCKING_TIME_EXPIRED")]
70    BlockingTimeExpired,
71}
72
73impl Default for Status {
74    fn default() -> Status {
75        Self::Completed
76    }
77}
78///
79#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
80pub enum Action {
81    #[serde(rename = "ACCEPT")]
82    Accept,
83    #[serde(rename = "REJECT")]
84    Reject,
85    #[serde(rename = "ALERT")]
86    Alert,
87    #[serde(rename = "WAIT")]
88    Wait,
89    #[serde(rename = "FREEZE")]
90    Freeze,
91    #[serde(rename = "CANCEL")]
92    Cancel,
93}
94
95impl Default for Action {
96    fn default() -> Action {
97        Self::Accept
98    }
99}