use serde::{
Deserialize,
Serialize,
};
use std::str::FromStr;
use crate::structs::query::*;
#[derive(Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(untagged)]
pub enum GGID {
Int(i64),
String(String),
}
impl FromStr for GGID {
type Err = ();
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(match s.parse::<i64>() {
Ok(value) => GGID::Int(value),
Err(_) => GGID::String(s.to_string())
})
}
}
#[derive(Clone, Serialize, Deserialize)]
#[serde(untagged)]
pub enum GGResponse {
Data(GGData),
Error(String),
}