Adds renaming games functionality

This commit is contained in:
2025-07-12 17:07:33 +02:00
parent 28f7306d57
commit 3f99b68d62
30 changed files with 502 additions and 178 deletions

View File

@@ -1,4 +1,4 @@
use diesel::{dsl::insert_into, Insertable, PgConnection, Queryable, RunQueryDsl};
use diesel::{dsl::insert_into, ExpressionMethods, Insertable, PgConnection, QueryDsl, Queryable, RunQueryDsl};
use serde::{Serialize, Deserialize};
use uuid::Uuid;
use crate::schema::game;
@@ -16,6 +16,16 @@ pub fn games(conn: &mut PgConnection) -> Result<Vec::<Game>, DatabaseError> {
Ok(game::table.load::<Game>(conn)?)
}
pub fn load_game(conn: &mut PgConnection, id: Uuid) -> Result<Game, DatabaseError> {
Ok(game::table.find(id).get_result(conn)?)
}
pub fn insert_game(conn: &mut PgConnection, game: Game) -> Result<usize, DatabaseError> {
Ok(insert_into(game::table).values(&game).execute(conn)?)
}
pub fn rename_game(conn: &mut PgConnection, id: Uuid, name: String) -> Result<usize, DatabaseError> {
Ok(diesel::update(game::table.filter(game::id.eq(id)))
.set(game::name.eq(&name))
.execute(conn)?)
}