use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
pub struct IpFullResponse {
pub query: String,
pub status: String,
pub continent: String,
#[serde(rename = "continentCode")]
pub continent_code: String,
pub country: String,
#[serde(rename = "countryCode")]
pub country_code: String,
pub region: String,
#[serde(rename = "regionName")]
pub region_name: String,
pub city: String,
pub district: String,
pub zip: String,
pub lat: f32,
pub lon: f32,
pub timezone: String,
pub offset: i32,
pub currency: String,
pub isp: String,
pub org: String,
#[serde(rename = "as")]
pub asn: String,
#[serde(rename = "asname")]
pub as_name: String,
pub reverse: String,
pub mobile: bool,
pub proxy: bool,
pub hosting: bool,
}
#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
pub struct IpDefaultResponse {
pub query: String,
pub status: String,
pub country: String,
#[serde(rename = "countryCode")]
pub country_code: String,
pub region: String,
#[serde(rename = "regionName")]
pub region_name: String,
pub city: String,
pub zip: String,
pub lat: f32,
pub lon: f32,
pub timezone: String,
pub isp: String,
pub org: String,
#[serde(rename = "as")]
pub asn: String,
}
#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
pub struct ErrorResponse {
pub status: String,
pub message: String,
pub query: String,
}