Add dao's
This commit is contained in:
84
src/game_tables.py
Normal file
84
src/game_tables.py
Normal 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]
|
||||
Reference in New Issue
Block a user