35 lines
No EOL
1 KiB
Rust
35 lines
No EOL
1 KiB
Rust
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);
|
|
}
|
|
}
|
|
} |