thoughts on new api structure, formats code

This commit is contained in:
2019-10-15 14:42:57 +02:00
parent 8399ffebf7
commit 6101aaa9e9
8 changed files with 176 additions and 139 deletions

View File

@@ -1,6 +1,6 @@
use diesel::prelude::*;
use crate::{DbConnection, QueryResult};
use crate::schema::players;
use crate::{DbConnection, QueryResult};
use diesel::prelude::*;
/// Representation of a player in database
#[derive(Debug, Queryable, Serialize)]
@@ -25,19 +25,15 @@ pub struct Player {
pub struct Players<'q>(pub &'q DbConnection);
impl<'q> Players<'q> {
pub fn all(&self) -> QueryResult<Vec<Player>> {
players::table
.load(self.0)
players::table.load(self.0)
}
pub fn add(&self, name: &str, wealth: f32) -> QueryResult<Player> {
diesel::insert_into(players::table)
.values(&NewPlayer::create(name, wealth))
.execute(self.0)?;
players::table
.order(players::dsl::id.desc())
.first(self.0)
players::table.order(players::dsl::id.desc()).first(self.0)
}
}
@@ -67,15 +63,12 @@ impl<'q> AsPlayer<'q> {
pub fn update_debt(&self, value_in_gp: i32) -> QueryResult<()> {
diesel::update(players::table.find(self.1))
.set(players::dsl::debt.eq(
players::dsl::debt + value_in_gp
))
.set(players::dsl::debt.eq(players::dsl::debt + value_in_gp))
.execute(self.0)?;
Ok(())
}
}
/// Unpack a floating value of gold pieces to integer
/// values of copper, silver, gold and platinum pieces
///