from django.db import models
from core.models import Language


class EmailTemplate(models.Model):
    code = models.CharField(max_length=100, unique=True)
    default_from_email = models.EmailField(blank=True, null=True)
    is_active = models.BooleanField(default=True)

    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.code


class EmailTemplateTranslation(models.Model):
    template = models.ForeignKey(
        EmailTemplate,
        on_delete=models.CASCADE,
        related_name="translations"
    )
    language = models.ForeignKey(
        Language,
        on_delete=models.CASCADE
    )

    subject = models.CharField(max_length=255)
    text_message = models.TextField(blank=True)
    html_message = models.TextField()
    is_active = models.BooleanField(default=True)

    class Meta:
        unique_together = ("template", "language")

    def __str__(self):
        return f"{self.template.code} - {self.language.code}"
