05/23 Phase 3
This commit is contained in:
@@ -224,6 +224,45 @@ def get_draw_count(game_id):
|
||||
conn.close()
|
||||
|
||||
|
||||
def get_draws_with_game(game_id=None, limit=None, date_from=None, date_to=None, order="DESC"):
|
||||
"""
|
||||
Like get_draws() but JOINs games so each row includes game_name.
|
||||
game_id=None returns draws for all games.
|
||||
Used by the History screen.
|
||||
"""
|
||||
conn = get_connection()
|
||||
try:
|
||||
cursor = conn.cursor()
|
||||
query = """
|
||||
SELECT d.*, g.name AS game_name
|
||||
FROM draws d
|
||||
JOIN games g ON g.id = d.game_id
|
||||
WHERE 1=1
|
||||
"""
|
||||
params = []
|
||||
if game_id is not None:
|
||||
query += " AND d.game_id = ?"
|
||||
params.append(game_id)
|
||||
if date_from:
|
||||
query += " AND d.draw_date >= ?"
|
||||
params.append(date_from)
|
||||
if date_to:
|
||||
query += " AND d.draw_date <= ?"
|
||||
params.append(date_to)
|
||||
|
||||
order_sql = "DESC" if order.upper() == "DESC" else "ASC"
|
||||
query += f" ORDER BY d.draw_date {order_sql}, g.name ASC"
|
||||
|
||||
if limit:
|
||||
query += " LIMIT ?"
|
||||
params.append(limit)
|
||||
|
||||
cursor.execute(query, params)
|
||||
return cursor.fetchall()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def get_all_draws_numbers(game_id):
|
||||
"""
|
||||
Return all draws as list of dicts with parsed number lists.
|
||||
|
||||
Reference in New Issue
Block a user