use serde::{Deserialize, Serialize}; use serde_json::Value; use serde_repr::{Deserialize_repr, Serialize_repr}; #[derive(Debug, PartialEq, Serialize_repr, Deserialize_repr, Copy, Clone)] #[repr(u8)] pub enum CommandType { MovePeer = 1, TokenCreated = 2, TokenDeleted = 3, UserChanged = 4, UserDeleted = 5, } #[derive(Serialize, Deserialize)] pub struct Command { pub cmd_type: CommandType, pub message: Value, } #[derive(Serialize, Deserialize)] pub struct MovePeerCommandReq { pub from_id: String, pub to_id: String, pub peer_id: String, pub new_ip: u32, pub net_bit_len: u8, pub user_id: u32, } #[derive(Serialize, Deserialize)] pub struct CommandResp { cmd_type: CommandType, resp_code: i8, resp_information: Value, }