cleans up a little + rustfmt

This commit is contained in:
2019-06-19 15:31:58 +02:00
parent 396989f3dd
commit 48f71e048e
3 changed files with 33 additions and 31 deletions

View File

@@ -1,6 +1,8 @@
extern crate dotenv;
#[macro_use] extern crate diesel;
#[macro_use] extern crate serde_derive;
#[macro_use]
extern crate diesel;
#[macro_use]
extern crate serde_derive;
use diesel::prelude::*;
use diesel::r2d2::{self, ConnectionManager};
@@ -15,11 +17,15 @@ pub fn establish_connection() -> Result<SqliteConnection, String> {
pub mod models;
pub mod schema;
pub fn list_players(conn: &SqliteConnection)
-> Result<Vec<models::Player>, diesel::result::Error> {
pub use models::Player;
impl Player {
pub fn fetch_list(
conn: &SqliteConnection,
) -> Result<Vec<models::Player>, diesel::result::Error> {
use schema::players::dsl::*;
Ok(players
.load::<models::Player>(conn)?)
Ok(players.load::<models::Player>(conn)?)
}
}
pub type Pool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
@@ -33,10 +39,6 @@ pub fn create_pool() -> Pool {
.expect("Failed to create pool.")
}
#[cfg(test)]
mod tests {
use super::*;

View File

@@ -1,5 +1,5 @@
use crate::serde_derive::{Serialize};
use crate::schema::players;
use crate::serde_derive::Serialize;
use crate::*;
#[derive(Debug, Queryable, Serialize)]

View File

@@ -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<Pool>) -> impl Future<Item = HttpResponse, Error = Error> {
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,10 +64,7 @@ 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()