import mysql.connector
import json
conn = mysql.connector.connect(**DB_CONFIG)
cursor = conn.cursor(dictionary=True)

# Calculer la clé de semaine courante (même logique que le serveur)
from datetime import datetime
from python.db_config import DB_CONFIG
def get_week_key(date=None):
    if date is None:
        date = datetime.now()
    d = datetime(date.year, date.month, date.day)
    # Ajuster pour obtenir le lundi de la semaine
    d = d.replace(hour=0, minute=0, second=0, microsecond=0)
    # ISO week calculation
    iso_calendar = d.isocalendar()
    return f"{iso_calendar.year}-W{iso_calendar.week:02d}"

current_week = get_week_key()
print(f'Semaine courante calculée: {current_week}')
print()

# Vérifier ce que l'API devrait renvoyer pour l'user 73
cursor.execute('''
    SELECT week_key, completed_days, reward_claimed, reward_type
    FROM weekly_progress 
    WHERE user_id = 73 AND week_key = %s
''', (current_week,))
row = cursor.fetchone()

print('Ce que l\'API devrait retourner pour user 73:')
print('-' * 60)
if row:
    completed = json.loads(row['completed_days']) if row['completed_days'] else []
    print(f"  week_key: {row['week_key']}")
    print(f"  completedDays: {completed}")
    print(f"  rewardClaimed: {bool(row['reward_claimed'])}")
    print(f"  rewardType: {row['reward_type']}")
else:
    print('  Pas de progression trouvée pour cette semaine!')
    print('  completedDays sera: []')

print()
print('Toutes les entrées weekly_progress pour user 73:')
cursor.execute('SELECT * FROM weekly_progress WHERE user_id = 73')
for row in cursor.fetchall():
    print(f"  {row}")

cursor.close()
conn.close()
