# Generated by Django 5.1.7 on 2025-03-25 20:33

import datetime

from django.db import migrations, models
from django.db.models import F, Sum


def calculate_game_playtime(apps, schema_editor):
    Game = apps.get_model("games", "Game")
    games = Game.objects.all()
    for game in games:
        total_playtime = game.sessions.aggregate(
            total_playtime=Sum(F("duration_total"))
        )["total_playtime"]
        if total_playtime:
            game.playtime = total_playtime
            game.save(update_fields=["playtime"])


class Migration(migrations.Migration):
    dependencies = [
        ("games", "0012_alter_session_duration_calculated"),
    ]

    operations = [
        migrations.AddField(
            model_name="game",
            name="playtime",
            field=models.DurationField(
                blank=True, default=datetime.timedelta(0), editable=False
            ),
        ),
        migrations.RunPython(calculate_game_playtime),
    ]
