ogcapi_types/common/
query.rs1use serde::{Deserialize, Serialize};
2use serde_with::DisplayFromStr;
3
4use crate::common::{Bbox, Crs, Datetime};
5
6#[serde_with::serde_as]
7#[derive(Deserialize, Debug, Clone)]
8#[serde(deny_unknown_fields, rename_all = "kebab-case")]
9pub struct Query {
10 #[serde(default)]
11 #[serde_as(as = "Option<DisplayFromStr>")]
12 pub bbox: Option<Bbox>,
13 #[serde(default)]
14 #[serde_as(as = "Option<DisplayFromStr>")]
15 pub bbox_crs: Option<Crs>,
16 #[serde(default)]
17 #[serde_as(as = "Option<DisplayFromStr>")]
18 pub datetime: Option<Datetime>,
19 #[serde(flatten)]
20 pub pagination: LimitOffsetPagination,
21 pub f: Option<String>,
22}
23
24#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
26pub struct LimitOffsetPagination {
27 pub limit: Option<usize>,
29 pub offset: Option<usize>,
31}