from django.db import models
from users.models import User

class Appointment(models.Model):
    STATUS_CHOICES = [
        ('En attente', 'En attente'),
        ('accepté', 'accepté'),
        ('rejeté', 'rejeté'),
        ('reporter','reporter')
    ]
    patient = models.ForeignKey(User, related_name='appointments_as_patient', on_delete=models.CASCADE)
    doctor = models.ForeignKey(User, related_name='appointments_as_doctor', on_delete=models.CASCADE)
    date = models.DateField()
    time = models.TimeField()
    motif = models.CharField(max_length=80)
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='En attente')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"Appointment with Dr. {self.doctor.get_full_name()} on {self.date} at {self.time}"

class Unavailability(models.Model):
    doctor = models.ForeignKey(User, related_name='unavailabilities', on_delete=models.CASCADE)
    date = models.DateField()
    motif = models.CharField(max_length=80,null=True,blank=True)
   # time = models.TimeField()

    def __str__(self):
        return f"Unavailability of Dr. {self.doctor.get_full_name()} on {self.date} at {self.time}"
