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")]
28 pub filter: ::prost::alloc::string::String,
29}
30#[allow(clippy::derive_partial_eq_without_eq)]
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct ListNotificationsResponse {
34 #[prost(message, repeated, tag="1")]
35 pub notifications: ::prost::alloc::vec::Vec<Notification>,
36 #[prost(string, tag="2")]
37 pub next_page_token: ::prost::alloc::string::String,
38}
39#[allow(clippy::derive_partial_eq_without_eq)]
41#[derive(Clone, PartialEq, ::prost::Message)]
42pub struct SubscribeNotificationsRequest {
43 #[prost(string, tag="1")]
46 pub user: ::prost::alloc::string::String,
47 #[prost(string, optional, tag="2")]
50 pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
51}
52#[allow(clippy::derive_partial_eq_without_eq)]
54#[derive(Clone, PartialEq, ::prost::Message)]
55pub struct AcknowledgeNotificationRequest {
56 #[prost(string, tag="1")]
59 pub name: ::prost::alloc::string::String,
60}
61#[allow(clippy::derive_partial_eq_without_eq)]
63#[derive(Clone, PartialEq, ::prost::Message)]
64pub struct NotificationAction {
65 #[prost(oneof="notification_action::Action", tags="1, 2")]
67 pub action: ::core::option::Option<notification_action::Action>,
68}
69pub mod notification_action {
71 #[allow(clippy::derive_partial_eq_without_eq)]
73#[derive(Clone, PartialEq, ::prost::Oneof)]
74 pub enum Action {
75 #[prost(message, tag="1")]
77 NoOp(super::NoOp),
78 #[prost(message, tag="2")]
80 Navigate(super::NavigateAction),
81 }
82}
83#[allow(clippy::derive_partial_eq_without_eq)]
85#[derive(Clone, Copy, PartialEq, ::prost::Message)]
86pub struct NoOp {
87}
88#[allow(clippy::derive_partial_eq_without_eq)]
90#[derive(Clone, PartialEq, ::prost::Message)]
91pub struct NavigateAction {
92 #[prost(oneof="navigate_action::Target", tags="1")]
94 pub target: ::core::option::Option<navigate_action::Target>,
95}
96pub mod navigate_action {
98 #[allow(clippy::derive_partial_eq_without_eq)]
100#[derive(Clone, PartialEq, ::prost::Oneof)]
101 pub enum Target {
102 #[prost(message, tag="1")]
108 LpPage(super::LpPageTarget),
109 }
110}
111#[allow(clippy::derive_partial_eq_without_eq)]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct LpPageTarget {
115 #[prost(string, tag="1")]
117 pub etf_code: ::prost::alloc::string::String,
118 #[prost(string, tag="2")]
120 pub fund_code: ::prost::alloc::string::String,
121}
122#[allow(clippy::derive_partial_eq_without_eq)]
124#[derive(Clone, PartialEq, ::prost::Message)]
125pub struct Notification {
126 #[prost(string, tag="1")]
129 pub name: ::prost::alloc::string::String,
130 #[prost(string, tag="2")]
133 pub user: ::prost::alloc::string::String,
134 #[prost(string, optional, tag="3")]
137 pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
138 #[prost(uint64, tag="4")]
140 pub id: u64,
141 #[prost(enumeration="NotificationType", tag="5")]
143 pub r#type: i32,
144 #[prost(message, optional, tag="6")]
146 pub action: ::core::option::Option<NotificationAction>,
147 #[prost(enumeration="NotificationState", tag="7")]
149 pub state: i32,
150 #[prost(string, tag="8")]
152 pub title: ::prost::alloc::string::String,
153 #[prost(string, tag="9")]
155 pub body: ::prost::alloc::string::String,
156 #[prost(map="string, string", tag="10")]
158 pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
159 #[prost(string, optional, tag="11")]
162 pub navigation_url: ::core::option::Option<::prost::alloc::string::String>,
163 #[prost(message, optional, tag="12")]
165 pub create_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
166 #[prost(message, optional, tag="13")]
168 pub expire_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
169 #[prost(message, optional, tag="14")]
171 pub acknowledge_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
172}
173#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
175#[repr(i32)]
176pub enum NotificationType {
177 TypeUnspecified = 0,
178 Info = 1,
180 Error = 2,
182}
183impl NotificationType {
184 pub fn as_str_name(&self) -> &'static str {
189 match self {
190 NotificationType::TypeUnspecified => "TYPE_UNSPECIFIED",
191 NotificationType::Info => "INFO",
192 NotificationType::Error => "ERROR",
193 }
194 }
195 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
197 match value {
198 "TYPE_UNSPECIFIED" => Some(Self::TypeUnspecified),
199 "INFO" => Some(Self::Info),
200 "ERROR" => Some(Self::Error),
201 _ => None,
202 }
203 }
204}
205#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
207#[repr(i32)]
208pub enum NotificationState {
209 StateUnspecified = 0,
210 Created = 1,
212 Acknowledged = 2,
214 Expired = 3,
216}
217impl NotificationState {
218 pub fn as_str_name(&self) -> &'static str {
223 match self {
224 NotificationState::StateUnspecified => "STATE_UNSPECIFIED",
225 NotificationState::Created => "CREATED",
226 NotificationState::Acknowledged => "ACKNOWLEDGED",
227 NotificationState::Expired => "EXPIRED",
228 }
229 }
230 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
232 match value {
233 "STATE_UNSPECIFIED" => Some(Self::StateUnspecified),
234 "CREATED" => Some(Self::Created),
235 "ACKNOWLEDGED" => Some(Self::Acknowledged),
236 "EXPIRED" => Some(Self::Expired),
237 _ => None,
238 }
239 }
240}
241include!("kdo.v1.notification.tonic.rs");
242include!("kdo.v1.notification.serde.rs");
243