flowsurface_data/config/
network.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Default, PartialEq, Eq, Deserialize, Serialize)]
7pub struct Network {
8 pub proxy: Option<exchange::proxy::Proxy>,
9 pub server_url: Option<String>,
10 #[serde(skip)]
13 pub server_auth_token: Option<String>,
14 pub trade_fetch_mode: TradeFetchMode,
15}
16
17impl Network {
18 pub fn for_persistence(&self) -> Self {
21 Self {
22 proxy: self.proxy.clone().map(|p| p.without_auth()),
23 ..self.clone()
24 }
25 }
26}
27
28#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
29#[serde(tag = "type")]
30pub enum TradeFetchMode {
31 #[default]
32 Off,
33 Exchange,
35 Server,
37}
38
39impl std::fmt::Display for TradeFetchMode {
40 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
41 match self {
42 Self::Off => write!(f, "Off"),
43 Self::Exchange => write!(f, "Exchange"),
44 Self::Server => write!(f, "Server"),
45 }
46 }
47}