refactor PlayerView, plans to replace ApiStorage.js by lootalot.js api module

This commit is contained in:
2019-10-18 14:35:06 +02:00
parent 08397e7b25
commit 60a6e69f67
5 changed files with 93 additions and 55 deletions

View File

@@ -3,7 +3,7 @@ use crate::{DbConnection, QueryResult};
use diesel::prelude::*;
/// Representation of a player in database
#[derive(Queryable, Serialize, Deserialize, Debug)]
#[derive(Identifiable, Queryable, Serialize, Deserialize, Debug)]
pub struct Player {
/// DB Identitier
pub id: i32,
@@ -29,6 +29,10 @@ impl<'q> Players<'q> {
players::table.load(self.0)
}
pub fn find(&self, id: i32) -> QueryResult<Player> {
players::table.find(id).first(self.0)
}
pub fn add(&self, name: &str, wealth: f32) -> QueryResult<Player> {
diesel::insert_into(players::table)
.values(&NewPlayer::create(name, wealth))