1use serde::{Deserialize, Serialize};
9
10use crate::{BindIdentity, RouteTarget};
11
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
14#[serde(tag = "op")]
15pub enum ModuleControlRequest {
16 #[serde(rename = "route.bind")]
17 RouteBind {
18 route_channel: u16,
19 target: RouteTarget,
20 identity: BindIdentity,
21 },
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
26#[serde(tag = "op")]
27pub enum ModuleControlResponse {
28 #[serde(rename = "route.bind")]
30 RouteBindAck {},
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
35#[serde(tag = "op")]
36pub enum ModuleControlPush {
37 #[serde(rename = "route.status")]
38 RouteStatus { route_channel: u16, status: String },
39}