openapi_nexus_core/data/
runtime_data.rs

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