sokuto_cli/commands/
export_openapi.rs1use std::fs;
7use std::path::PathBuf;
8
9use sokuto_server::openapi::export_openapi_json;
10
11pub fn run_export_openapi(
16 output: Option<PathBuf>,
17) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
18 let json_str = export_openapi_json();
19
20 if let Some(path) = output {
21 if let Some(parent) = path.parent() {
22 fs::create_dir_all(parent)?;
23 }
24 fs::write(&path, &json_str)?;
25 eprintln!("OpenAPI 3.1 仕様書を正常に出力しました: {}", path.display());
26 } else {
27 println!("{json_str}");
28 }
29
30 Ok(())
31}