# models.py

from django.db import models
from django.conf import settings
from django.utils import timezone
from django.core.mail import send_mail
from django.template.loader import render_to_string
from .email_utils import send_email

class Reuniao(models.Model):
    titulo = models.CharField(max_length=200)
    data_hora = models.DateTimeField()
    participantes = models.TextField()  # E-mails separados por vírgula
    resumo = models.TextField(blank=True, null=True)
    link_teams = models.URLField(max_length=1000, blank=True, null=True)
    criado_por = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True)
    criado_em = models.DateTimeField(default=timezone.now)
    atualizado_em = models.DateTimeField(auto_now=True)
    lembrete = models.TextField(blank=True, null=True)
    ata = models.TextField(blank=True, null=True)

    def __str__(self):
        return self.titulo



    def enviar_convite(self):
        """ Envia o e-mail com o link do Teams via Microsoft Graph API """
        recipient_list = [email.strip() for email in self.participantes.split(',') if email.strip()]

        if not recipient_list:
            return

        subject = f"Convite para Reunião: {self.titulo}"
        body = f"""
        <h3>Você foi convidado para a reunião: {self.titulo}</h3>
        <p><strong>🗓 Data e Hora:</strong> {self.data_hora.strftime('%d/%m/%Y %H:%M')}</p>
        <p><strong>🔗 Link do Teams:</strong> <a href="{self.link_teams}">{self.link_teams}</a></p>
        <p><strong>📌 Resumo:</strong> {self.resumo}</p>
        """

        send_email(subject, body, recipient_list)


