Add dao's

This commit is contained in:
iamBadgers
2026-03-22 20:26:46 -07:00
parent de7c604f91
commit 64c1f52cdf
4 changed files with 152 additions and 22 deletions

84
src/game_tables.py Normal file
View File

@@ -0,0 +1,84 @@
class GameTable:
game_table_id: int
game_table_name: str
game_table_link: str
active: bool
created: bool
updated: bool
def __init__(
self,
game_table_id: int,
game_table_name: str,
game_table_link: str,
active: bool,
created: bool = False,
updated: bool = False,
):
self.game_table_id = game_table_id
self.game_table_name = game_table_name
self.game_table_link = game_table_link
self.active = active
self.created = created
self.updated = updated
def toJson(self):
return {
"id": self.game_table_id,
"table_name": self.game_table_name,
"table_link": self.game_table_link,
"active": self.active,
}
def commit(self, cursor):
if not self.created:
cursor.execute(
"""INSERT INTO game_tables
(game_table_id, game_table_name, game_table_link, active)
VALUES (?, ?, ?, ?)""",
(
self.game_table_id,
self.game_table_name,
self.game_table_link,
self.active,
),
)
self.created = True
return
if not self.updated:
cursor.execute(
"""UPDATE game_tables
SET game_table_name = ?, game_table_link = ?, active = ?
WHERE game_table_id = ?""",
(
self.game_table_name,
self.game_table_link,
self.active,
self.game_table_id,
),
)
self.updated = False
return
def read_by_id(game_table_id, cursor):
rows = cursor.execute(
"SELECT game_table_id, game_table_name, game_table_link, active FROM game_tables WHERE game_table_id = ?",
(game_table_id,),
).fetchone()
return GameTable(rows[0], rows[1], rows[2], rows[3], True, True)
def read_all(cursor):
rows = cursor.execute(
"SELECT game_table_id, game_table_name, game_table_link, active FROM game_tables"
).fetchall()
return [GameTable(row[0], row[1], row[2], row[3], True, True) for row in rows]
def read_active(cursor):
rows = cursor.execute(
"SELECT game_table_id, game_table_name, game_table_link, active FROM game_tables WHERE active != 0"
).fetchall()
return [GameTable(row[0], row[1], row[2], row[3], True, True) for row in rows]