kiteticker_async_manager/models/
text_message.rs

1use serde::{Deserialize, Serialize};
2use serde_repr::{Deserialize_repr, Serialize_repr};
3
4#[derive(Debug, Clone, Serialize_repr, Deserialize_repr)]
5#[repr(u8)]
6///
7/// Postbacks and non-binary message types
8///
9pub(crate) enum TextMessageType {
10  /// Order postback
11  Order = 1,
12  /// Error response
13  Error = 2,
14  /// Messages and alerts from the broker
15  Message = 3,
16}
17
18impl From<String> for TextMessageType {
19  fn from(value: String) -> Self {
20    match value.as_str() {
21      "order" => Self::Order,
22      "error" => Self::Error,
23      _ => Self::Message,
24    }
25  }
26}
27
28#[derive(Debug, Clone, Deserialize, Serialize)]
29///
30/// Postback and non-binary message structure
31///
32pub struct TextMessage {
33  #[serde(rename = "type")]
34  pub(crate) message_type: String,
35  pub(crate) data: serde_json::Value,
36}