use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OgrSourceDataset {
#[serde(rename = "attributeQuery", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub attribute_query: Option<Option<String>>,
#[serde(rename = "cacheTtl", skip_serializing_if = "Option::is_none")]
pub cache_ttl: Option<i32>,
#[serde(rename = "columns", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub columns: Option<Option<Box<models::OgrSourceColumnSpec>>>,
#[serde(rename = "dataType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub data_type: Option<Option<models::VectorDataType>>,
#[serde(rename = "defaultGeometry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub default_geometry: Option<Option<Box<models::TypedGeometry>>>,
#[serde(rename = "fileName")]
pub file_name: String,
#[serde(rename = "forceOgrSpatialFilter", skip_serializing_if = "Option::is_none")]
pub force_ogr_spatial_filter: Option<bool>,
#[serde(rename = "forceOgrTimeFilter", skip_serializing_if = "Option::is_none")]
pub force_ogr_time_filter: Option<bool>,
#[serde(rename = "layerName")]
pub layer_name: String,
#[serde(rename = "onError")]
pub on_error: models::OgrSourceErrorSpec,
#[serde(rename = "sqlQuery", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub sql_query: Option<Option<String>>,
#[serde(rename = "time", skip_serializing_if = "Option::is_none")]
pub time: Option<Box<models::OgrSourceDatasetTimeType>>,
}
impl OgrSourceDataset {
pub fn new(file_name: String, layer_name: String, on_error: models::OgrSourceErrorSpec) -> OgrSourceDataset {
OgrSourceDataset {
attribute_query: None,
cache_ttl: None,
columns: None,
data_type: None,
default_geometry: None,
file_name,
force_ogr_spatial_filter: None,
force_ogr_time_filter: None,
layer_name,
on_error,
sql_query: None,
time: None,
}
}
}