From 57a0238f092cb7cbfeabed2cdb4d93f79fe4f49c Mon Sep 17 00:00:00 2001 From: Stuart Axelbrooke Date: Sat, 12 Jul 2025 08:14:55 -0700 Subject: [PATCH] Add missing file --- databuild/service/openapi_spec_generator.rs | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 databuild/service/openapi_spec_generator.rs diff --git a/databuild/service/openapi_spec_generator.rs b/databuild/service/openapi_spec_generator.rs new file mode 100644 index 0000000..6dfa075 --- /dev/null +++ b/databuild/service/openapi_spec_generator.rs @@ -0,0 +1,35 @@ +use databuild::service::BuildGraphService; +use std::collections::HashMap; + +#[tokio::main] +async fn main() { + // Disable logging to keep output clean + log::set_max_level(log::LevelFilter::Off); + + // Create a minimal service instance for OpenAPI generation + let service = match BuildGraphService::new( + "sqlite://:memory:", // Use in-memory database for spec generation + "//example:graph".to_string(), + "job_lookup".to_string(), + HashMap::new(), + ).await { + Ok(service) => service, + Err(e) => { + eprintln!("Failed to create service for OpenAPI generation: {}", e); + std::process::exit(1); + } + }; + + // Generate and print OpenAPI spec + let spec = service.generate_openapi_spec(); + match serde_json::to_string_pretty(&spec) { + Ok(json) => { + println!("{}", json); + std::process::exit(0); + } + Err(e) => { + eprintln!("Failed to serialize OpenAPI spec: {}", e); + std::process::exit(1); + } + } +} \ No newline at end of file