aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs27
1 files changed, 7 insertions, 20 deletions
diff --git a/src/lib.rs b/src/lib.rs
index e6bb0f6..7929ab2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -17,28 +17,15 @@
*/
#![feature(proc_macro_hygiene, decl_macro)]
-use rocket::{
- get,
- routes,
-};
-use rocket_contrib::{
- database,
- databases::diesel,
- json,
- json::JsonValue,
-};
+mod controllers;
+mod db;
+use crate::controllers::room;
+
+use rocket::routes;
use std::collections::HashMap;
use std::error::Error;
use std::result::Result;
-#[database("main")]
-struct DbConn(diesel::PgConnection);
-
-#[get("/")]
-fn get_rooms(_db: DbConn) -> JsonValue {
- json!([])
-}
-
pub fn build_rocket() -> Result<rocket::Rocket, Box<dyn Error>> {
let db_url = dotenv::var("DATABASE_URL")
.map_err(|_| "No database! Set DATABASE_URL env var and try again.")?;
@@ -53,7 +40,7 @@ pub fn build_rocket() -> Result<rocket::Rocket, Box<dyn Error>> {
config.extras.insert("databases".into(), rocket::config::Value::from(databases));
Ok(rocket::custom(config)
- .attach(DbConn::fairing())
+ .attach(db::Connection::fairing())
.mount("/", rocket_contrib::serve::StaticFiles::from("./public"))
- .mount("/rooms", routes![get_rooms]))
+ .mount("/rooms", routes![room::get_rooms]))
}