1#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct ListNotificationsRequest {
7 #[prost(string, tag="1")]
10 pub user: ::prost::alloc::string::String,
11 #[prost(int32, tag="2")]
15 pub page_size: i32,
16 #[prost(string, tag="3")]
18 pub page_token: ::prost::alloc::string::String,
19 #[prost(string, tag="4")]
42 pub filter: ::prost::alloc::string::String,
43}
44#[allow(clippy::derive_partial_eq_without_eq)]
46#[derive(Clone, PartialEq, ::prost::Message)]
47pub struct ListNotificationsResponse {
48 #[prost(message, repeated, tag="1")]
49 pub notifications: ::prost::alloc::vec::Vec<Notification>,
50 #[prost(string, tag="2")]
51 pub next_page_token: ::prost::alloc::string::String,
52}
53#[allow(clippy::derive_partial_eq_without_eq)]
55#[derive(Clone, PartialEq, ::prost::Message)]
56pub struct SubscribeNotificationsRequest {
57 #[prost(string, tag="1")]
60 pub user: ::prost::alloc::string::String,
61 #[prost(string, optional, tag="2")]
64 pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
65}
66#[allow(clippy::derive_partial_eq_without_eq)]
68#[derive(Clone, PartialEq, ::prost::Message)]
69pub struct AcknowledgeNotificationRequest {
70 #[prost(string, tag="1")]
73 pub name: ::prost::alloc::string::String,
74}
75#[allow(clippy::derive_partial_eq_without_eq)]
77#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct NotificationAction {
79 #[prost(oneof="notification_action::Action", tags="1, 2")]
81 pub action: ::core::option::Option<notification_action::Action>,
82}
83pub mod notification_action {
85 #[allow(clippy::derive_partial_eq_without_eq)]
87#[derive(Clone, PartialEq, ::prost::Oneof)]
88 pub enum Action {
89 #[prost(message, tag="1")]
91 NoOp(super::NoOp),
92 #[prost(message, tag="2")]
94 Navigate(super::NavigateAction),
95 }
96}
97#[allow(clippy::derive_partial_eq_without_eq)]
99#[derive(Clone, Copy, PartialEq, ::prost::Message)]
100pub struct NoOp {
101}
102#[allow(clippy::derive_partial_eq_without_eq)]
104#[derive(Clone, PartialEq, ::prost::Message)]
105pub struct NavigateAction {
106 #[prost(oneof="navigate_action::Target", tags="1, 2, 3")]
108 pub target: ::core::option::Option<navigate_action::Target>,
109}
110pub mod navigate_action {
112 #[allow(clippy::derive_partial_eq_without_eq)]
114#[derive(Clone, PartialEq, ::prost::Oneof)]
115 pub enum Target {
116 #[prost(message, tag="1")]
118 LpPage(super::LpPageTarget),
119 #[prost(message, tag="2")]
121 FutureLpPage(super::FutureLpPageTarget),
122 #[prost(message, tag="3")]
124 MmPage(super::MmPageTarget),
125 }
126}
127#[allow(clippy::derive_partial_eq_without_eq)]
129#[derive(Clone, PartialEq, ::prost::Message)]
130pub struct LpPageTarget {
131 #[prost(string, tag="1")]
133 pub etf_code: ::prost::alloc::string::String,
134 #[prost(string, tag="2")]
136 pub fund_code: ::prost::alloc::string::String,
137}
138#[allow(clippy::derive_partial_eq_without_eq)]
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct FutureLpPageTarget {
142 #[prost(string, tag="1")]
144 pub future_symbol: ::prost::alloc::string::String,
145 #[prost(string, tag="2")]
147 pub fund_code: ::prost::alloc::string::String,
148 #[prost(string, tag="3")]
150 pub etf_symbol: ::prost::alloc::string::String,
151}
152#[allow(clippy::derive_partial_eq_without_eq)]
154#[derive(Clone, PartialEq, ::prost::Message)]
155pub struct MmPageTarget {
156 #[prost(string, tag="1")]
158 pub symbol: ::prost::alloc::string::String,
159 #[prost(string, tag="2")]
161 pub fund_code: ::prost::alloc::string::String,
162}
163#[allow(clippy::derive_partial_eq_without_eq)]
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct Notification {
167 #[prost(string, tag="1")]
170 pub name: ::prost::alloc::string::String,
171 #[prost(string, tag="2")]
174 pub user: ::prost::alloc::string::String,
175 #[prost(string, optional, tag="3")]
178 pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
179 #[prost(uint64, tag="4")]
181 pub id: u64,
182 #[prost(enumeration="NotificationType", tag="5")]
184 pub r#type: i32,
185 #[prost(message, optional, tag="6")]
187 pub action: ::core::option::Option<NotificationAction>,
188 #[prost(enumeration="NotificationState", tag="7")]
190 pub state: i32,
191 #[prost(string, tag="8")]
193 pub title: ::prost::alloc::string::String,
194 #[prost(string, tag="9")]
196 pub body: ::prost::alloc::string::String,
197 #[prost(map="string, string", tag="10")]
199 pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
200 #[prost(string, optional, tag="11")]
203 pub navigation_url: ::core::option::Option<::prost::alloc::string::String>,
204 #[prost(message, optional, tag="12")]
206 pub create_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
207 #[prost(message, optional, tag="13")]
209 pub expire_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
210 #[prost(message, optional, tag="14")]
212 pub acknowledge_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
213 #[prost(string, optional, tag="15")]
217 pub symbol: ::core::option::Option<::prost::alloc::string::String>,
218}
219#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
221#[repr(i32)]
222pub enum NotificationType {
223 TypeUnspecified = 0,
224 Info = 1,
226 Error = 2,
228}
229impl NotificationType {
230 pub fn as_str_name(&self) -> &'static str {
235 match self {
236 NotificationType::TypeUnspecified => "TYPE_UNSPECIFIED",
237 NotificationType::Info => "INFO",
238 NotificationType::Error => "ERROR",
239 }
240 }
241 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
243 match value {
244 "TYPE_UNSPECIFIED" => Some(Self::TypeUnspecified),
245 "INFO" => Some(Self::Info),
246 "ERROR" => Some(Self::Error),
247 _ => None,
248 }
249 }
250}
251#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
253#[repr(i32)]
254pub enum NotificationState {
255 StateUnspecified = 0,
256 Created = 1,
258 Acknowledged = 2,
260 Expired = 3,
262}
263impl NotificationState {
264 pub fn as_str_name(&self) -> &'static str {
269 match self {
270 NotificationState::StateUnspecified => "STATE_UNSPECIFIED",
271 NotificationState::Created => "CREATED",
272 NotificationState::Acknowledged => "ACKNOWLEDGED",
273 NotificationState::Expired => "EXPIRED",
274 }
275 }
276 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
278 match value {
279 "STATE_UNSPECIFIED" => Some(Self::StateUnspecified),
280 "CREATED" => Some(Self::Created),
281 "ACKNOWLEDGED" => Some(Self::Acknowledged),
282 "EXPIRED" => Some(Self::Expired),
283 _ => None,
284 }
285 }
286}
287include!("kdo.v1.notification.tonic.rs");
288include!("kdo.v1.notification.serde.rs");
289