use serde::{Deserialize, Serialize};
use crate::common::Link;
use super::QueryType;
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct DataQueries {
pub position: Option<PositionLink>,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct PositionLink {
#[serde(flatten)]
pub link: Link,
pub variables: PositionDataQuery,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct PositionDataQuery {
pub title: Option<String>,
pub description: Option<String>,
pub query_type: QueryType,
pub output_formats: Vec<String>,
pub default_output_format: Option<String>,
pub crs_details: Vec<CrsObject>,
}
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct CrsObject {
pub crs: String,
pub wkt: String,
}