openapi_nexus_core/data/runtime_data.rs
1//! Runtime data for template generation
2
3use serde::{Deserialize, Serialize};
4
5use openapi_nexus_spec::OpenApiV31Spec;
6
7/// Runtime data for template generation
8#[derive(Clone, Serialize, Deserialize)]
9pub struct RuntimeData {
10 pub base_path: String,
11}
12
13impl RuntimeData {
14 pub fn from_openapi(openapi: &OpenApiV31Spec) -> Self {
15 let base_path = openapi
16 .servers
17 .first()
18 .map(|server| server.url.clone())
19 .unwrap_or_else(|| "http://localhost".to_string());
20 Self { base_path }
21 }
22}