1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// @generated
// This file is @generated by prost-build.
/// PnL 요약 구조체
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PnlSummary {
/// 기간 유형
#[prost(enumeration="PeriodType", tag="1")]
pub period_type: i32,
/// 기준 날짜 (RFC3339 형식)
#[prost(string, tag="2")]
pub trade_date: ::prost::alloc::string::String,
/// 총 손익 (문자열로 표현된 decimal)
#[prost(string, tag="5")]
pub total_pnl: ::prost::alloc::string::String,
/// 총 거래량 (문자열로 표현된 decimal)
#[prost(string, tag="6")]
pub total_volume: ::prost::alloc::string::String,
/// 총 거래 횟수
#[prost(int64, tag="7")]
pub total_transactions: i64,
/// 레코드 수
#[prost(int64, tag="8")]
pub record_count: i64,
}
/// ListPnlSummariesRequest payload
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPnlSummariesRequest {
/// The maximum number of pnl summaries to return. The service may return fewer than
/// this value.
/// If unspecified, at most 50 rows will be returned.
/// The maximum value is 1024; values above 1024 will be coerced to 1024.
#[prost(int32, tag="1")]
pub page_size: i32,
/// Token of the page to retrieve. If not specified, the first
/// page of results will be returned. Use the value obtained from
/// `next_page_token` in the previous response to request
/// the next page of results.
///
/// When paginating, all other parameters provided to `ListPnlSummaries` must match
/// the call that provided the page token.
#[prost(string, tag="2")]
pub page_token: ::prost::alloc::string::String,
/// Available Sequence and Operator
/// * start_date
/// * `>`, `>=`, `=`, `<=`, `<`
/// * end_date
/// * `>`, `>=`, `=`, `<=`, `<`
/// * period_type
/// * `equal`
///
/// Examples
/// * filter=start_date>"2025-01-01T00" AND end_date<"2025-01-31T23"
/// * filter=period_type=PERIOD_TYPE_MONTHLY
#[prost(string, tag="3")]
pub filter: ::prost::alloc::string::String,
}
/// ListPnlSummariesResponse response
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPnlSummariesResponse {
/// The list of rows that matched the query.
#[prost(message, repeated, tag="1")]
pub summaries: ::prost::alloc::vec::Vec<PnlSummary>,
/// Pagination token used to retrieve the next page of results.
/// Pass the content of this string as the `page_token` attribute of
/// the next request. `next_page_token` is not returned for the last
/// page.
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PeriodType {
/// Unspecified period type
Unspecified = 0,
/// Daily period
Daily = 1,
/// Weekly period
Weekly = 2,
/// Monthly period
Monthly = 3,
/// Yearly period
Yearly = 4,
}
impl PeriodType {
/// String value of the enum field names used in the ProtoBuf definition.
///
/// The values are not transformed in any way and thus are considered stable
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
PeriodType::Unspecified => "PERIOD_TYPE_UNSPECIFIED",
PeriodType::Daily => "PERIOD_TYPE_DAILY",
PeriodType::Weekly => "PERIOD_TYPE_WEEKLY",
PeriodType::Monthly => "PERIOD_TYPE_MONTHLY",
PeriodType::Yearly => "PERIOD_TYPE_YEARLY",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PERIOD_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"PERIOD_TYPE_DAILY" => Some(Self::Daily),
"PERIOD_TYPE_WEEKLY" => Some(Self::Weekly),
"PERIOD_TYPE_MONTHLY" => Some(Self::Monthly),
"PERIOD_TYPE_YEARLY" => Some(Self::Yearly),
_ => None,
}
}
}
include!("log_sync.v1.pnl.tonic.rs");
include!("log_sync.v1.pnl.serde.rs");
// @@protoc_insertion_point(module)