tackler_api/reports/
register_report.rs1use crate::metadata::Metadata;
6use crate::txn_header::TxnHeader;
7use serde::Serialize;
8
9#[derive(Serialize, Debug)]
11pub struct RegisterPosting {
12 pub account: String,
14
15 pub amount: String,
19
20 #[serde(rename = "runningTotal")]
24 pub running_total: String,
25
26 #[serde(skip_serializing_if = "Option::is_none")]
30 pub commodity: Option<String>,
31
32 #[serde(skip_serializing_if = "Option::is_none")]
34 pub rate: Option<String>,
35
36 #[serde(rename = "baseCommodity")]
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub base_commodity: Option<String>,
40
41 #[serde(skip_serializing_if = "Option::is_none")]
43 pub comment: Option<String>,
44}
45
46#[derive(Serialize, Debug)]
48pub struct RegisterTxn {
49 #[serde(rename = "displayTime")]
52 pub display_time: String,
53 pub txn: TxnHeader,
55
56 pub postings: Vec<RegisterPosting>,
58}
59
60#[derive(Serialize, Debug)]
62pub struct RegisterReport {
63 #[serde(skip_serializing_if = "Option::is_none")]
65 pub metadata: Option<Metadata>,
66
67 pub title: String,
69
70 pub transactions: Vec<RegisterTxn>,
72}