use serde::{Deserialize, Serialize};
use serde_json::Value;
use crate::apperror::AppError;
#[derive(Serialize, Deserialize, Debug)]
pub struct CommandResponse {
#[serde(rename = "commandId")]
pub command_id: u32,
#[serde(rename = "response")]
pub response: Option<Value>,
#[serde(rename = "error")]
pub error: Option<Value>,
}
impl CommandResponse {
pub fn from_json_buffer(data: &[u8]) -> Result<CommandResponse, AppError> {
serde_json::from_slice(data).map_err(|_| AppError::new("deserialization failed"))
}
}