from django.db import models

from basic.models import Language
from user_profile.models import MedicalProfile


class GrowthTracker(models.Model):
    date = models.DateField()
    weight = models.FloatField()
    height = models.FloatField()
    headCircumference = models.FloatField()
    notes = models.TextField(blank=True, default="", null=True)
    createdDate = models.DateTimeField()
    updatedDate = models.DateTimeField()
    medicalProfileId = models.ForeignKey(
        MedicalProfile,
        on_delete=models.CASCADE,
        related_name="medicalprofile_growthtracker",
    )


class DiaperTrackerType(models.Model):
    keyName = models.TextField()
    createdDate = models.DateTimeField()
    updatedDate = models.DateTimeField()


class DiaperTrackerTypeLanguage(models.Model):
    name = models.TextField()
    diaperTrackerTypeId = models.ForeignKey(
        DiaperTrackerType,
        on_delete=models.CASCADE,
        related_name="diapertrackertype_diapertrackertypelanguage",
    )
    languageId = models.ForeignKey(
        Language,
        on_delete=models.CASCADE,
        related_name="language_diapertrackertypelanguage",
    )


class DiaperTrackerGroup(models.Model):
    date = models.DateTimeField()
    time = models.TimeField()
    note = models.TextField(blank=True, default="", null=True)
    createdDate = models.DateTimeField()
    updatedDate = models.DateTimeField()
    medicalProfileId = models.ForeignKey(
        MedicalProfile,
        on_delete=models.CASCADE,
        related_name="medicalprofile_diapertrackergroup",
    )


class DiaperTrackerRow(models.Model):
    createdDate = models.DateTimeField()
    updatedDate = models.DateTimeField()
    diaperTrackerTypeId = models.ForeignKey(
        DiaperTrackerType,
        on_delete=models.CASCADE,
        related_name="diapertrackertype_diapertrackerrow",
    )
    diaperTrackerGroupId = models.ForeignKey(
        DiaperTrackerGroup,
        on_delete=models.CASCADE,
        related_name="diapertrackergroup_diapertrackerrow",
    )
