graphdbhue3/src/main.rs

45 lines
1.3 KiB
Rust
Raw Normal View History

use crate::backend::backend::build_api;
use neo4rs::Graph;
2024-05-24 13:09:17 +02:00
use rocket::Config;
use rocket_okapi::swagger_ui::{make_swagger_ui, SwaggerUIConfig};
mod backend;
mod graph;
2024-05-24 13:09:17 +02:00
fn main() {
let tokio = tokio::runtime::Runtime::new().expect("Failed to spawn tokio runtime");
2024-05-24 13:09:17 +02:00
tokio.block_on(async move {
2024-05-24 13:09:17 +02:00
let uri: String = "127.0.0.1:7687".to_string();
let user = "";
let pass = "";
// connect to neo4j database
2024-05-24 13:09:17 +02:00
let graph = Graph::new(uri, user, pass).await.unwrap();
// configure api port and interface
2024-05-24 13:09:17 +02:00
let config = Config {
address: "0.0.0.0".parse().unwrap(),
port: 8081,
..Default::default()
};
// configure api and swagger ui
2024-05-24 13:09:17 +02:00
let rock = rocket::custom(config)
.manage(graph)
.mount("/api/", build_api())
.mount(
"/docs/",
make_swagger_ui(&SwaggerUIConfig {
url: "../api/openapi.json".to_owned(),
..Default::default()
}),
);
let rock = rock.launch().await;
match rock {
Ok(_) => println!("Rocket shut down gracefully."),
Err(err) => println!("Rocket had an error: {}", err),
};
});
}