From c5461f16adce315ac37e97f60bf1cacd51b08d4a Mon Sep 17 00:00:00 2001 From: shockrah Date: Wed, 5 Feb 2020 16:30:50 -0800 Subject: [PATCH] main now matches against dotenv return val main also returns a Result<(), i32> --- server/src/main.rs | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 5a5c5e5..966c191 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,21 +1,30 @@ // This client code really just serves as the url router for the main website where we describe what the project is about #![feature(proc_macro_hygiene, decl_macro, plugin)] -//#[macro_use] extern crate serde_derive; #[macro_use] extern crate serde_derive; #[macro_use] extern crate rocket; -extern crate rocket_contrib; +#[macro_use] extern crate rocket_contrib; +#[macro_use] extern crate diesel; extern crate chrono; +extern crate dotenv; +extern crate serde; use rocket_contrib::serve::StaticFiles; use rocket_contrib::templates::Template; +use dotenv::dotenv; +use std::env::var; mod website; -use website::*; - +mod schema; mod invites; +mod models; + +use website::*; use invites::*; +#[database("freechat_sample_db")] +pub struct DBConn(diesel::MysqlConnection); + fn rocket() -> rocket::Rocket { rocket::ignite() .mount("/static", StaticFiles::from("/static")) @@ -27,11 +36,21 @@ fn rocket() -> rocket::Rocket { generate_invite, use_invite ]) .attach(Template::fairing()) + .attach(DBConn::fairing()) } -fn main() { - website::init(); - rocket().launch(); +fn main() -> Result<(), i32> { + let dot = dotenv(); + match dot { + Ok(d) => { + println!("Got .env: {}", var("DATABASE_URL").unwrap()); + rocket().launch(); + }, + Err(e) => { + panic!("`.env` Could not be loaded err: {:?}", e); + } + } + Ok(()) } // Integrating some basic tests just for this module