#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNotificationsRequest {
#[prost(string, tag="1")]
pub user: ::prost::alloc::string::String,
#[prost(int32, tag="2")]
pub page_size: i32,
#[prost(string, tag="3")]
pub page_token: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub filter: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListNotificationsResponse {
#[prost(message, repeated, tag="1")]
pub notifications: ::prost::alloc::vec::Vec<Notification>,
#[prost(string, tag="2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeNotificationsRequest {
#[prost(string, tag="1")]
pub user: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcknowledgeNotificationRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotificationAction {
#[prost(oneof="notification_action::Action", tags="1, 2")]
pub action: ::core::option::Option<notification_action::Action>,
}
pub mod notification_action {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag="1")]
NoOp(super::NoOp),
#[prost(message, tag="2")]
Navigate(super::NavigateAction),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NoOp {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NavigateAction {
#[prost(oneof="navigate_action::Target", tags="1, 2, 3")]
pub target: ::core::option::Option<navigate_action::Target>,
}
pub mod navigate_action {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Target {
#[prost(message, tag="1")]
LpPage(super::LpPageTarget),
#[prost(message, tag="2")]
FutureLpPage(super::FutureLpPageTarget),
#[prost(message, tag="3")]
MmPage(super::MmPageTarget),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LpPageTarget {
#[prost(string, tag="1")]
pub etf_code: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FutureLpPageTarget {
#[prost(string, tag="1")]
pub future_symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub etf_symbol: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MmPageTarget {
#[prost(string, tag="1")]
pub symbol: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub fund_code: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Notification {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub user: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub portfolio: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, tag="4")]
pub id: u64,
#[prost(enumeration="NotificationType", tag="5")]
pub r#type: i32,
#[prost(message, optional, tag="6")]
pub action: ::core::option::Option<NotificationAction>,
#[prost(enumeration="NotificationState", tag="7")]
pub state: i32,
#[prost(string, tag="8")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag="9")]
pub body: ::prost::alloc::string::String,
#[prost(map="string, string", tag="10")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub navigation_url: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="12")]
pub create_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
#[prost(message, optional, tag="13")]
pub expire_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
#[prost(message, optional, tag="14")]
pub acknowledge_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
#[prost(string, optional, tag="15")]
pub symbol: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NotificationType {
TypeUnspecified = 0,
Info = 1,
Error = 2,
Warning = 3,
}
impl NotificationType {
pub fn as_str_name(&self) -> &'static str {
match self {
NotificationType::TypeUnspecified => "TYPE_UNSPECIFIED",
NotificationType::Info => "INFO",
NotificationType::Error => "ERROR",
NotificationType::Warning => "WARNING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TYPE_UNSPECIFIED" => Some(Self::TypeUnspecified),
"INFO" => Some(Self::Info),
"ERROR" => Some(Self::Error),
"WARNING" => Some(Self::Warning),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NotificationState {
StateUnspecified = 0,
Created = 1,
Acknowledged = 2,
Expired = 3,
}
impl NotificationState {
pub fn as_str_name(&self) -> &'static str {
match self {
NotificationState::StateUnspecified => "STATE_UNSPECIFIED",
NotificationState::Created => "CREATED",
NotificationState::Acknowledged => "ACKNOWLEDGED",
NotificationState::Expired => "EXPIRED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::StateUnspecified),
"CREATED" => Some(Self::Created),
"ACKNOWLEDGED" => Some(Self::Acknowledged),
"EXPIRED" => Some(Self::Expired),
_ => None,
}
}
}
include!("kdo.v1.notification.tonic.rs");
include!("kdo.v1.notification.serde.rs");