myko_rs/
message.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    event::MEvent,
5    query::{QueryError, QueryResponse, WrappedQuery},
6    report::{ReportError, ReportResponse, WrappedReport},
7};
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(tag = "event", content = "data")]
11pub enum MykoMessage<Commands> {
12    #[serde(rename = "ws:m:query")]
13    Query(WrappedQuery),
14    #[serde(rename = "ws:m:query-response")]
15    QueryResponse(QueryResponse),
16    #[serde(rename = "ws:m:report")]
17    Report(WrappedReport),
18    #[serde(rename = "ws:m:report-response")]
19    ReportResponse(ReportResponse),
20    #[serde(rename = "ws:m:report-error")]
21    ReportError(ReportError),
22    #[serde(rename = "ws:m:query-error")]
23    QueryError(QueryError),
24    #[serde(rename = "ws:m:event")]
25    Event(MEvent),
26    #[serde(rename = "ws:m:command")]
27    Command(Commands),
28}