aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2019-03-04 17:33:20 +0100
committerHarald Eilertsen <haraldei@anduin.net>2019-03-04 17:33:20 +0100
commitcd6eba8b2b70404e93d9d4b0832faa7c9f00d217 (patch)
tree3ff74c7c8dcfb43ba590b53695209062bc4d62b2 /src/lib.rs
parent14cf4b8fdd69b31c8030b6530bbe07fd1df5b25a (diff)
downloadramaskrik-social-cd6eba8b2b70404e93d9d4b0832faa7c9f00d217.tar.gz
ramaskrik-social-cd6eba8b2b70404e93d9d4b0832faa7c9f00d217.tar.bz2
ramaskrik-social-cd6eba8b2b70404e93d9d4b0832faa7c9f00d217.zip
Refactoring, move db connection and room controller to separate modules.
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]))
}