from django.db import models
from usuarios.models import Usuario
from artigos.models import Artigo, Comentario

class Denuncia(models.Model):
    usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE)
    comentario = models.ForeignKey(Comentario, on_delete=models.CASCADE, null=True, blank=True)
    artigo = models.ForeignKey(Artigo, on_delete=models.CASCADE, null=True, blank=True)

    motivo = models.TextField()
    data_criacao = models.DateTimeField(auto_now_add=True)

    class Meta:
        # Não pode denunciar um mesmo artigo ou comentário duas vezes
        constraints = [
            models.UniqueConstraint(
                fields=['usuario', 'artigo'],
                name='unique_denuncia_artigo'
            ),
            models.UniqueConstraint(
                fields=['usuario', 'comentario'],
                name='unique_denuncia_comentario'
            )
        ]