use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiRating {
pub rating_type: Option<String>,
pub value: Option<f64>,
pub votes_count: Option<i64>,
pub rating_max: Option<i64>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiAddressInfo {
pub borough: Option<String>,
pub address: Option<String>,
pub city: Option<String>,
pub zip: Option<String>,
pub region: Option<String>,
pub country_code: Option<String>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiTaskReady {
pub id: Option<String>,
pub se: Option<String>,
pub se_type: Option<String>,
pub date_posted: Option<String>,
pub tag: Option<String>,
pub endpoint: Option<String>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiIdListRequest {
pub datetime_from: String,
pub datetime_to: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub include_metadata: Option<bool>,
}
impl BusinessDataApiIdListRequest {
pub fn new<T: Into<String>>(datetime_from: T, datetime_to: T) -> Self {
BusinessDataApiIdListRequest {
datetime_from: datetime_from.into(),
datetime_to: datetime_to.into(),
..BusinessDataApiIdListRequest::default()
}
}
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiIdList {
pub id: Option<String>,
pub url: Option<String>,
pub datetime_posted: Option<String>,
pub datetime_done: Option<String>,
pub status: Option<String>,
pub cost: Option<f64>,
pub metadata: Option<Value>,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct BusinessDataApiErrorItem {
pub id: Option<String>,
pub datetime: Option<String>,
pub function: Option<String>,
pub error_code: Option<i32>,
pub error_message: Option<String>,
pub http_url: Option<String>,
pub http_method: Option<String>,
pub http_code: Option<i32>,
pub http_time: Option<f64>,
pub http_response: Option<String>,
}