From 48f71e048e77765df08d395293f1f0950434993e Mon Sep 17 00:00:00 2001 From: Artus Date: Wed, 19 Jun 2019 15:31:58 +0200 Subject: [PATCH] cleans up a little + rustfmt --- lootalot_db/src/lib.rs | 28 +++++++++++++++------------- lootalot_db/src/models.rs | 2 +- src/main.rs | 34 +++++++++++++++++----------------- 3 files changed, 33 insertions(+), 31 deletions(-) diff --git a/lootalot_db/src/lib.rs b/lootalot_db/src/lib.rs index 256d49c..49de386 100644 --- a/lootalot_db/src/lib.rs +++ b/lootalot_db/src/lib.rs @@ -1,9 +1,11 @@ - extern crate dotenv; -#[macro_use] extern crate diesel; -#[macro_use] extern crate serde_derive; +extern crate dotenv; +#[macro_use] +extern crate diesel; +#[macro_use] +extern crate serde_derive; use diesel::prelude::*; -use diesel::r2d2::{self, ConnectionManager }; +use diesel::r2d2::{self, ConnectionManager}; pub fn establish_connection() -> Result { dotenv::dotenv().ok(); @@ -15,11 +17,15 @@ pub fn establish_connection() -> Result { pub mod models; pub mod schema; -pub fn list_players(conn: &SqliteConnection) - -> Result, diesel::result::Error> { - use schema::players::dsl::*; - Ok(players - .load::(conn)?) +pub use models::Player; + +impl Player { + pub fn fetch_list( + conn: &SqliteConnection, + ) -> Result, diesel::result::Error> { + use schema::players::dsl::*; + Ok(players.load::(conn)?) + } } pub type Pool = r2d2::Pool>; @@ -33,10 +39,6 @@ pub fn create_pool() -> Pool { .expect("Failed to create pool.") } - - - - #[cfg(test)] mod tests { use super::*; diff --git a/lootalot_db/src/models.rs b/lootalot_db/src/models.rs index 3d8e226..eec543b 100644 --- a/lootalot_db/src/models.rs +++ b/lootalot_db/src/models.rs @@ -1,5 +1,5 @@ -use crate::serde_derive::{Serialize}; use crate::schema::players; +use crate::serde_derive::Serialize; use crate::*; #[derive(Debug, Queryable, Serialize)] diff --git a/src/main.rs b/src/main.rs index ca89765..4c7b58d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,29 +4,33 @@ extern crate env_logger; extern crate actix_web; extern crate lootalot_db; -use std::env; use actix_files as fs; -use actix_web::{web, HttpServer, App}; +use actix_web::{web, App, HttpServer}; use lootalot_db::Pool; +use std::env; mod api { + use actix_web::{web, web::Json, Error, HttpResponse, Result}; use futures::Future; - use actix_web::{web, HttpResponse, Result, Error, web::Json}; use super::Pool; - use lootalot_db::models::Player; + use lootalot_db::Player; struct Item; - pub fn players_list(pool: web::Data) -> impl Future { - web::block( move || { + pub fn players_list(pool: web::Data) -> impl Future { + web::block(move || { let conn = pool.get().unwrap(); println!("Waiting for player list..."); - lootalot_db::list_players(&conn) + Player::fetch_list(&conn) }) - .then(|res| { - match res { - Ok(players) => { println!("Ok! {:?}", &players); HttpResponse::Ok().json(players)}, - Err(_) => { println!("Error!"); HttpResponse::InternalServerError().finish()}, + .then(|res| match res { + Ok(players) => { + println!("Ok! {:?}", &players); + HttpResponse::Ok().json(players) + } + Err(_) => { + println!("Error!"); + HttpResponse::InternalServerError().finish() } }) } @@ -45,7 +49,6 @@ mod api { } } - fn main() -> std::io::Result<()> { println!("Hello, world!"); @@ -61,11 +64,8 @@ fn main() -> std::io::Result<()> { App::new() .data(pool.clone()) .route("/players", web::get().to_async(api::players_list)) - .service( - fs::Files::new("/", www_root.clone()) - .index_file("index.html") - ) - }) + .service(fs::Files::new("/", www_root.clone()).index_file("index.html")) + }) .bind("127.0.0.1:8088")? .run() }