fts_core/models/
config.rs1use serde::{Deserialize, Serialize};
2use std::time::Duration;
3
4#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6#[serde(from = "RawConfig", into = "RawConfig")]
7pub struct Config {
8 pub trade_rate: Duration,
10}
11
12#[derive(Serialize, Deserialize)]
20pub struct RawConfig {
21 pub trade_rate: u32,
22}
23
24impl From<RawConfig> for Config {
25 fn from(value: RawConfig) -> Self {
26 Self {
27 trade_rate: Duration::from_secs(value.trade_rate as u64),
28 }
29 }
30}
31
32impl From<Config> for RawConfig {
33 fn from(value: Config) -> Self {
34 Self {
35 trade_rate: value.trade_rate.as_secs() as u32,
36 }
37 }
38}