use crate::device_model::{
CustomVerseGripDevice, Inverse3Device, SessionInfo, VerseGripDevice, WirelessVerseGripDevice,
};
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize)]
pub struct DevicesResponse {
pub session_id: u64,
pub inverse3: Vec<Inverse3Device>,
pub verse_grip: Vec<VerseGripDevice>,
pub wireless_verse_grip: Vec<WirelessVerseGripDevice>,
pub custom_verse_grip: Vec<CustomVerseGripDevice>,
}
#[derive(Debug, Deserialize)]
pub struct ApiResponse {
pub ok: bool,
pub data: Option<serde_json::Value>,
pub error: Option<String>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct ExpertStatusResponse {
pub detection: serde_json::Value,
pub devices: serde_json::Value,
pub sessions: serde_json::Value,
pub global: serde_json::Value,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct SessionListData {
pub session_count: u32,
pub sessions: Vec<SessionInfo>,
}
#[derive(Debug, Deserialize, Serialize)]
pub struct PairingResponse {
pub inverse_id: Option<String>,
pub verse_grip_id: Option<String>,
pub attached: bool,
pub force_attached: bool,
}