ids_apis/
log_sync.v1.pnl.rs

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