# app_cmt - models.py

from django.db import models


class CMTRaw(models.Model):
    timestamp = models.DateTimeField("Timestamp", auto_now_add=True)
    checkname = models.CharField("Check", max_length=128, null=False, blank=False)
    status = models.BooleanField("Status", default=False)
    usec = models.IntegerField("usec", default=0)
    data = models.TextField("Data", max_length=5000, blank=True, default="")

    class Meta:
        db_table = "cmt_raw"
        indexes = [
            models.Index(fields=["timestamp"]),
            models.Index(fields=["checkname"]),
        ]
        ordering = ["timestamp"]
        verbose_name = "CMT Raw"
        verbose_name_plural = "CMT Raw"

    def __str__(self):
        return f"{self.timestamp} - {self.checkname} - {self.status}"


class CMTHour(models.Model):
    timestamp = models.DateTimeField("Timestamp", auto_now_add=False)
    checkname = models.CharField("Check", max_length=128, null=False, blank=False)
    count_ok = models.IntegerField("OK", null=True, blank=True)
    count_ko = models.IntegerField("KO", null=True, blank=True)

    class Meta:
        db_table = "cmt_hour"
        indexes = [
            models.Index(fields=["timestamp"]),
            models.Index(fields=["checkname"]),
        ]
        ordering = ["timestamp"]
        verbose_name = "CMT Hour"
        verbose_name_plural = "CMT Hour"

    def __str__(self):
        return f"{self.timestamp} - {self.checkname}"


class CMTDay(models.Model):
    timestamp = models.DateTimeField("Timestamp", auto_now_add=False)
    checkname = models.CharField("Check", max_length=128, null=False, blank=False)
    count_ok = models.IntegerField("OK", null=True, blank=True)
    count_ko = models.IntegerField("KO", null=True, blank=True)

    class Meta:
        db_table = "cmt_day"
        indexes = [
            models.Index(fields=["timestamp"]),
            models.Index(fields=["checkname"]),
        ]
        ordering = ["timestamp"]
        verbose_name = "CMT Day"
        verbose_name_plural = "CMT Day"

    def __str__(self):
        return f"{self.timestamp} - {self.checkname}"
