superstac_search/query.rs
1use serde::Deserialize;
2use stac::{Bbox, Geometry};
3
4/// A federated STAC search request. Mirrors the STAC API search params:
5/// the engine translates this per-catalog before dispatch.
6///
7/// `collections` should use **canonical** names — alias-mapping happens
8/// internally per catalog.
9#[derive(Debug, Clone, Deserialize)]
10pub struct SearchQuery {
11 pub collections: Vec<String>,
12 pub ids: Option<Vec<String>>,
13 pub intersects: Option<Geometry>,
14 pub bbox: Option<Bbox>,
15 pub datetime: Option<String>,
16 pub limit: Option<usize>,
17 pub sortby: Option<Vec<String>>,
18}
19