1extern crate core;
2
3pub mod fintekkers {
4
5 pub mod proto {
6 pub const LEDGER_MODELS_PROTO_FILE_DESCRIPTOR_SET: &[u8] =
7 include_bytes!("ledger_models_file_descriptor_set_v_todo.bin");
8 }
9
10 pub mod wrappers;
11
12 pub mod models {
13 pub mod portfolio {
14 include!("fintekkers.models.portfolio.rs");
15 }
16 pub mod position {
17 include!("fintekkers.models.position.rs");
18 }
19 pub mod price {
20 include!("fintekkers.models.price.rs");
21 }
22 pub mod security {
23 include!("fintekkers.models.security.rs");
24
25 pub mod bond {
26 include!("fintekkers.models.security.bond.rs");
27 }
28 }
29 pub mod strategy {
30 include!("fintekkers.models.strategy.rs");
31 }
32 pub mod transaction {
33 include!("fintekkers.models.transaction.rs");
34 }
35 pub mod util {
36 include!("fintekkers.models.util.rs");
37
38 pub mod lock {
39 include!("fintekkers.models.util.lock.rs");
40 }
41 }
42 }
43
44 pub mod requests {
45 pub mod portfolio {
46 include!("fintekkers.requests.portfolio.rs");
47 }
48 pub mod position {
49 include!("fintekkers.requests.position.rs");
50 }
51 pub mod price {
52 include!("fintekkers.requests.price.rs");
53 }
54 pub mod security {
55 include!("fintekkers.requests.security.rs");
56 }
57 pub mod strategy {}
58 pub mod transaction {
59 include!("fintekkers.requests.transaction.rs");
60 }
61 pub mod util {
62 pub mod lock {
63 include!("fintekkers.requests.util.lock.rs");
64 }
65 pub mod errors {
66 include!("fintekkers.requests.util.errors.rs");
67 }
68 include!("fintekkers.requests.util.rs");
69 }
70 pub mod valuation {
71 include!("fintekkers.requests.valuation.rs");
72 }
73 }
74
75 pub mod services {
76 pub mod lock_service {
77 include!("fintekkers.services.lock_service.rs");
78 }
79 pub mod portfolio_service {
80 include!("fintekkers.services.portfolio_service.rs");
81 }
82 pub mod position_service {
83 include!("fintekkers.services.position_service.rs");
84 }
85 pub mod price_service {
86 include!("fintekkers.services.price_service.rs");
87 }
88 pub mod security_service {
89 include!("fintekkers.services.security_service.rs");
90 }
91 pub mod transaction_service {
92 include!("fintekkers.services.transaction_service.rs");
93 }
94 pub mod valuation_service {
95 include!("fintekkers.services.valuation_service.rs");
96 }
97 }
98}
99
100#[cfg(test)]
101mod tests {
102 use prost_types::Timestamp;
103
104 use crate::fintekkers;
105
106 #[test]
107 fn it_works() {
108 let now_timestamp = Timestamp::default();
109 let now_wrapped_timestap = Some(now_timestamp);
110
111 let as_of_timestamp = fintekkers::models::util::LocalTimestampProto {
112 time_zone: String::from("America/New_York"),
113 timestamp: now_wrapped_timestap,
114 };
115
116 let portfolio = fintekkers::models::portfolio::PortfolioProto {
117 as_of: Some(as_of_timestamp.clone()),
118 valid_from: Some(as_of_timestamp.clone()),
119 valid_to: None,
120 object_class: String::from("Portfolio"),
121 version: String::from("0.0.1"),
122 portfolio_name: String::from("PortfolioName"),
123 is_link: false,
124 uuid: None,
125 };
126
127 assert_eq!(portfolio.portfolio_name, String::from("PortfolioName"))
128 }
129}