use serde::Serialize;
use serde_json::Value;
#[derive(Debug, Clone, Serialize)]
pub struct RouteInfo {
pub path: String,
pub method: String,
pub operation_id: String,
pub summary: Option<String>,
pub request_body_type: Option<String>,
pub request_body_schema: Option<Value>,
pub response_type: Option<String>,
pub params: Vec<ParamInfo>,
pub roles: Vec<String>,
pub tag: Option<String>,
}
#[derive(Debug, Clone, Serialize)]
pub struct ParamInfo {
pub name: String,
pub location: ParamLocation,
pub param_type: String,
pub required: bool,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
#[serde(rename_all = "lowercase")]
pub enum ParamLocation {
Path,
Query,
Header,
}