Adds Adding of Games to the system.

This commit is contained in:
2025-06-27 22:08:23 +02:00
parent 3f51d52edf
commit 28f7306d57
40 changed files with 792 additions and 130 deletions

View File

@@ -13,7 +13,7 @@ use argon2::password_hash::rand_core::OsRng;
use argon2::password_hash::rand_core::RngCore;
use crate::DbConnection;
use super::schema::{pwd, users};
use super::schema::{pwd, client};
pub use super::error::DatabaseError;
@@ -26,7 +26,7 @@ struct Pwd {
}
#[derive(Serialize, Deserialize, Debug, Insertable, Queryable)]
#[diesel(table_name = users)]
#[diesel(table_name = client)]
pub struct User {
pub id: Uuid,
pub username: String,
@@ -65,10 +65,10 @@ pub struct Register {
}
pub fn login(conn: &mut DbConnection, user: LoginUser) -> Result<Option<User>, DatabaseError> {
let id: Uuid = users::table
.filter(users::username.eq(&user.username))
.or_filter(users::email.eq(&user.username))
.select(users::id)
let id: Uuid = client::table
.filter(client::username.eq(&user.username))
.or_filter(client::email.eq(&user.username))
.select(client::id)
.first(conn)?;
let pwd: String = pwd::table
@@ -82,14 +82,14 @@ pub fn login(conn: &mut DbConnection, user: LoginUser) -> Result<Option<User>, D
.verify_password(user.password.as_bytes(), &parsed_hash)
.is_ok()
{
Ok(Some(users::table.find(id).first(conn)?))
Ok(Some(client::table.find(id).first(conn)?))
} else {
Ok(None)
}
}
pub fn get_user(conn: &mut DbConnection, id: Uuid) -> Result<User, DatabaseError> {
Ok(users::table.find(id).first(conn)?)
Ok(client::table.find(id).first(conn)?)
}
pub fn register(conn: &mut DbConnection, register: Register) -> Result<(), DatabaseError> {
@@ -105,7 +105,7 @@ pub fn register(conn: &mut DbConnection, register: Register) -> Result<(), Datab
conn.transaction(|c| {
let id = Uuid::new_v4();
diesel::insert_into(users::table)
diesel::insert_into(client::table)
.values(User {
id,
username: register.username,
@@ -126,15 +126,15 @@ pub fn register(conn: &mut DbConnection, register: Register) -> Result<(), Datab
}
pub fn count_users_with_username(conn: &mut DbConnection, username: &String) -> Result<i64, DatabaseError> {
Ok(users::table
Ok(client::table
.count()
.filter(users::username.eq(username))
.filter(client::username.eq(username))
.get_result::<i64>(conn)?)
}
pub fn count_users_with_email(conn: &mut DbConnection, email: &String) -> Result<i64, DatabaseError> {
Ok(users::table
Ok(client::table
.count()
.filter(users::email.eq(email))
.filter(client::email.eq(email))
.get_result::<i64>(conn)?)
}