use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Hit {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "address")]
pub address: String,
#[serde(rename = "geojson")]
pub geojson: Box<models::HitGeojson>,
#[serde(rename = "distance", skip_serializing_if = "Option::is_none")]
pub distance: Option<f64>,
#[serde(rename = "search_confidence", skip_serializing_if = "Option::is_none")]
pub search_confidence: Option<f64>,
#[serde(rename = "structured_response", skip_serializing_if = "Option::is_none")]
pub structured_response: Option<Box<models::StructuredAddress>>,
#[serde(rename = "source_id", skip_serializing_if = "Option::is_none")]
pub source_id: Option<Box<models::SourceIdResponse>>,
}
impl Hit {
pub fn new(id: uuid::Uuid, address: String, geojson: models::HitGeojson) -> Hit {
Hit {
id,
address,
geojson: Box::new(geojson),
distance: None,
search_confidence: None,
structured_response: None,
source_id: None,
}
}
}