new table shizz
This commit is contained in:
@@ -2,6 +2,9 @@ from sqlite3 import Connection, Cursor
|
||||
from database import SmartCursor
|
||||
import random
|
||||
|
||||
class GameTableException(Exception):
|
||||
def __init__(self, message):
|
||||
super().__init__(self, message)
|
||||
|
||||
class GameTable:
|
||||
_game_table_id: int
|
||||
@@ -11,6 +14,7 @@ class GameTable:
|
||||
_docker_id: str
|
||||
_created: bool
|
||||
_updated: bool
|
||||
_delete: bool
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
@@ -21,6 +25,7 @@ class GameTable:
|
||||
docker_id: int,
|
||||
created: bool = False,
|
||||
updated: bool = False,
|
||||
delete: bool = False
|
||||
):
|
||||
self._game_table_id = game_table_id
|
||||
self._game_table_name = game_table_name
|
||||
@@ -29,6 +34,7 @@ class GameTable:
|
||||
self._docker_id = docker_id
|
||||
self._created = created
|
||||
self._updated = updated
|
||||
self._delete = delete
|
||||
|
||||
def toJson(self):
|
||||
return {
|
||||
@@ -72,6 +78,18 @@ class GameTable:
|
||||
)
|
||||
self._updated = True
|
||||
return
|
||||
if self._delete:
|
||||
cursor.execute("DELETE FROM game_tables WHERE game_table_id = ?", (self._game_table_id,))
|
||||
self._created = False
|
||||
self._updated = True
|
||||
self._delete = False
|
||||
|
||||
def delete(self):
|
||||
if not self._created:
|
||||
raise GameTableException("Cannot delete a table if it is not created.")
|
||||
if not self._updated:
|
||||
raise GameTableException("Cannot delete a table if it is dirty.")
|
||||
self._delete = True
|
||||
|
||||
@property
|
||||
def game_table_id(self):
|
||||
@@ -137,7 +155,7 @@ class GameService:
|
||||
if len(rows) == 0:
|
||||
return None
|
||||
|
||||
return GameTable(rows[0], rows[1], rows[2], rows[3], rows[4], True, True)
|
||||
return GameTable(rows[0], rows[1], rows[2], rows[3], rows[4], True, True, False)
|
||||
|
||||
def read_all(self, cursor=None):
|
||||
with SmartCursor(cursor, self.connection) as smartCursor:
|
||||
@@ -145,7 +163,7 @@ class GameService:
|
||||
"SELECT game_table_id, game_table_name, game_table_link, active, docker_id FROM game_tables"
|
||||
).fetchall()
|
||||
return [
|
||||
GameTable(row[0], row[1], row[2], row[3], row[4], True, True)
|
||||
GameTable(row[0], row[1], row[2], row[3], row[4], True, True, False)
|
||||
for row in rows
|
||||
]
|
||||
|
||||
@@ -155,6 +173,6 @@ class GameService:
|
||||
"SELECT game_table_id, game_table_name, game_table_link, active, docker_id FROM game_tables WHERE active != 0"
|
||||
).fetchall()
|
||||
return [
|
||||
GameTable(row[0], row[1], row[2], row[3], row[4], True, True)
|
||||
GameTable(row[0], row[1], row[2], row[3], row[4], True, True, False)
|
||||
for row in rows
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user