init
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					/target
 | 
				
			||||||
							
								
								
									
										2176
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										2176
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										13
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "graphdbhue3"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
 | 
					neo4rs = "0.7.1"
 | 
				
			||||||
 | 
					tokio = "1.37.0"
 | 
				
			||||||
 | 
					rocket = "0.5.0"
 | 
				
			||||||
 | 
					rocket_okapi = { version = "0.8.0", features = ["swagger"]  }
 | 
				
			||||||
 | 
					anyhow = "1.0.76"
 | 
				
			||||||
							
								
								
									
										21
									
								
								src/backend/backend.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/backend/backend.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					use neo4rs::Graph;
 | 
				
			||||||
 | 
					use rocket::{get, Route, State};
 | 
				
			||||||
 | 
					use rocket::response::status::NotFound;
 | 
				
			||||||
 | 
					use rocket_okapi::{openapi, openapi_get_routes};
 | 
				
			||||||
 | 
					use rocket::serde::json::Json;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pub fn build_api() -> Vec<Route> {
 | 
				
			||||||
 | 
					    openapi_get_routes![
 | 
				
			||||||
 | 
					        append
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// get general build-server stats
 | 
				
			||||||
 | 
					#[openapi(tag = "stats")]
 | 
				
			||||||
 | 
					#[get("/append")]
 | 
				
			||||||
 | 
					pub async fn append(graph: &State<Graph>) -> Result<String, NotFound<String>> {
 | 
				
			||||||
 | 
					    let graph = graph as &Graph;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Ok("worked".to_string())
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1
									
								
								src/backend/mod.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/backend/mod.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					pub mod backend;
 | 
				
			||||||
							
								
								
									
										66
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					use neo4rs::{Graph, Node, query};
 | 
				
			||||||
 | 
					use rocket::Config;
 | 
				
			||||||
 | 
					use rocket_okapi::swagger_ui::{make_swagger_ui, SwaggerUIConfig};
 | 
				
			||||||
 | 
					use crate::backend::backend::build_api;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mod backend;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn main() {
 | 
				
			||||||
 | 
					    println!("Hello, world!");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let t = tokio::runtime::Runtime::new().unwrap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let tt = Box::new("hello".to_string());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let iii = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for i in 1..5 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if tt == "hello" {
 | 
				
			||||||
 | 
					            println!("{tt}");
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            println!("not");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    println!("{tt}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    t.block_on(async move {
 | 
				
			||||||
 | 
					        // concurrent queries
 | 
				
			||||||
 | 
					        let uri: String = "127.0.0.1:7687".to_string();
 | 
				
			||||||
 | 
					        let user = "neo4j";
 | 
				
			||||||
 | 
					        let pass = "neo";
 | 
				
			||||||
 | 
					        let graph = Graph::new(uri, user, pass).await.unwrap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //println!("{uri}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let config = Config {
 | 
				
			||||||
 | 
					            address: "0.0.0.0".parse().unwrap(),
 | 
				
			||||||
 | 
					            port: 8081,
 | 
				
			||||||
 | 
					            ..Default::default()
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        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),
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user