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