use serde::{Deserialize, Serialize};
use crate::core_model::Feature;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub enum QueryFeatureKind {
Route,
Shape,
}
#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct FeatureRef {
pub id: String,
pub kind: QueryFeatureKind,
}
#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct GetFeaturesRequest {
pub feature_refs: Vec<FeatureRef>,
}
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct GetFeaturesResponse {
pub items: Vec<Feature>,
}