start diesel setup
This commit is contained in:
64
src/main.rs
64
src/main.rs
@ -1,25 +1,69 @@
|
||||
//use tokio::net::TcpListener;
|
||||
use std::io;
|
||||
|
||||
use bollard::{
|
||||
query_parameters::{
|
||||
ListImagesOptionsBuilder,
|
||||
ListContainersOptionsBuilder,
|
||||
CreateContainerOptionsBuilder
|
||||
},
|
||||
models::{
|
||||
ContainerCreateBody
|
||||
},
|
||||
Docker
|
||||
};
|
||||
|
||||
//mod minecraft;
|
||||
//use minecraft::process_mc_socket;
|
||||
|
||||
//mod rpc;
|
||||
//use rpc::process_rpc_socket;
|
||||
//
|
||||
|
||||
|
||||
use diesel::{prelude::*, r2d2::{ConnectionManager, Pool}};
|
||||
|
||||
mod models;
|
||||
|
||||
use dockermcmgr::schema;
|
||||
|
||||
use crate::models::{ Servers, CreateServer };
|
||||
|
||||
use std::env;
|
||||
|
||||
pub mod status;
|
||||
|
||||
use status::ServerStatus;
|
||||
|
||||
|
||||
|
||||
pub mod server;
|
||||
use async_std::sync::{Mutex, Arc};
|
||||
use server::Server;
|
||||
use server::ServerStatus;
|
||||
|
||||
mod serverList;
|
||||
fn get_connection_pool() -> Pool<ConnectionManager<PgConnection>> {
|
||||
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
|
||||
|
||||
let manager = ConnectionManager::<PgConnection>::new(&database_url);
|
||||
Pool::builder()
|
||||
.build(manager)
|
||||
.unwrap_or_else(|_| panic!("Error creating pool for {}", database_url))
|
||||
}
|
||||
|
||||
#[tokio::main(flavor = "current_thread")]
|
||||
async fn main() -> io::Result<()> {
|
||||
// let conn = DB_CONN.get().expect("failed to get the connection from the pool");
|
||||
let pool = get_connection_pool();
|
||||
|
||||
let conn = &mut pool.get().unwrap();
|
||||
|
||||
let servers = schema::servers::table.select(Servers::as_select()).load(conn);
|
||||
println!("servers : {:?}", servers);
|
||||
|
||||
let new_server = CreateServer {
|
||||
name: "potato",
|
||||
volume_path: "potato2",
|
||||
last_login: None,
|
||||
container_id: None,
|
||||
status: ServerStatus::Stopped,
|
||||
redirect_ip: None
|
||||
};
|
||||
|
||||
Ok(())
|
||||
/*
|
||||
println!("{:?}", docker);
|
||||
@ -50,12 +94,6 @@ async fn main() -> io::Result<()> {
|
||||
|
||||
let start_res = docker.start_container("rust-created-container", None).await;
|
||||
*/
|
||||
// let docker_conn = bollard::Docker::connect_with_local_defaults().expect("Failed to connect to the docker socket");
|
||||
// *crate::server::DOCKER.lock().unwrap() = Some(docker_conn);
|
||||
// let srv = Server { container_name: "something".to_string(), server_name: "potato".to_string(), server_id: 1, status: ServerStatus::Running };
|
||||
// srv.start();
|
||||
//
|
||||
// Ok(())
|
||||
/*
|
||||
let mc_listener = TcpListener::bind("0.0.0.0:25565").await?;
|
||||
let rpc_listener = TcpListener::bind("0.0.0.0:8080").await?;
|
||||
|
||||
Reference in New Issue
Block a user