parent
6c4743659c
commit
57a0238f09
1 changed files with 35 additions and 0 deletions
35
databuild/service/openapi_spec_generator.rs
Normal file
35
databuild/service/openapi_spec_generator.rs
Normal file
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue