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

@@ -6,6 +6,25 @@ pub mod sql_types {
pub struct Role;
}
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Role;
client (id) {
id -> Uuid,
username -> Varchar,
email -> Varchar,
role -> Role,
}
}
diesel::table! {
game (id) {
id -> Uuid,
name -> Varchar,
}
}
diesel::table! {
gamenight (id) {
id -> Uuid,
@@ -30,9 +49,9 @@ diesel::table! {
}
diesel::table! {
known_games (id) {
id -> Uuid,
name -> Varchar,
owned_game (user_id, game_id) {
user_id -> Uuid,
game_id -> Uuid,
}
}
@@ -53,31 +72,22 @@ diesel::table! {
}
}
diesel::table! {
use diesel::sql_types::*;
use super::sql_types::Role;
users (id) {
id -> Uuid,
username -> Varchar,
email -> Varchar,
role -> Role,
}
}
diesel::joinable!(gamenight -> users (owner_id));
diesel::joinable!(gamenight -> client (owner_id));
diesel::joinable!(gamenight_gamelist -> game (game_id));
diesel::joinable!(gamenight_gamelist -> gamenight (gamenight_id));
diesel::joinable!(gamenight_gamelist -> known_games (game_id));
diesel::joinable!(gamenight_participant -> client (user_id));
diesel::joinable!(gamenight_participant -> gamenight (gamenight_id));
diesel::joinable!(gamenight_participant -> users (user_id));
diesel::joinable!(pwd -> users (user_id));
diesel::joinable!(owned_game -> client (user_id));
diesel::joinable!(owned_game -> game (game_id));
diesel::joinable!(pwd -> client (user_id));
diesel::allow_tables_to_appear_in_same_query!(
client,
game,
gamenight,
gamenight_gamelist,
gamenight_participant,
known_games,
owned_game,
pwd,
registration_tokens,
users,
);