forked from Roflin/gamenight
21 lines
623 B
Rust
21 lines
623 B
Rust
use diesel::{dsl::insert_into, Insertable, PgConnection, Queryable, RunQueryDsl};
|
|
use serde::{Serialize, Deserialize};
|
|
use uuid::Uuid;
|
|
use crate::schema::game;
|
|
|
|
use super::error::DatabaseError;
|
|
|
|
#[derive(Serialize, Deserialize, Debug, Insertable, Queryable)]
|
|
#[diesel(table_name = game)]
|
|
pub struct Game {
|
|
pub id: Uuid,
|
|
pub name: String,
|
|
}
|
|
|
|
pub fn games(conn: &mut PgConnection) -> Result<Vec::<Game>, DatabaseError> {
|
|
Ok(game::table.load::<Game>(conn)?)
|
|
}
|
|
|
|
pub fn insert_game(conn: &mut PgConnection, game: Game) -> Result<usize, DatabaseError> {
|
|
Ok(insert_into(game::table).values(&game).execute(conn)?)
|
|
} |