from django.conf import settings
from django.db import models


class StreakHistory(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="streak_history")
    date = models.DateField()
    streak_count = models.PositiveIntegerField(default=0)
    completed_sessions = models.PositiveIntegerField(default=0)
    missed_sessions = models.PositiveIntegerField(default=0)

    class Meta:
        ordering = ("-date",)
        unique_together = ("user", "date")

    def __str__(self):
        return f"{self.user.username} streak on {self.date}"
