Skip to main content

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}