from django.db import models


class AutomatizacionEjecucion(models.Model):
    """
    Registro histórico de ejecuciones automatizadas.
    Cada vez que el endpoint `ejecutar/` corre, se guarda una fila con el
    resultado consolidado de las acciones ejecutadas.
    """
    nombre = models.CharField(max_length=255)
    descripcion = models.TextField(null=True, blank=True)
    estado = models.CharField(max_length=50, default='pendiente')  # pendiente | ok | error
    origen = models.CharField(max_length=100, default='manual')    # manual | jenkins | cron
    resultado = models.JSONField(null=True, blank=True)
    error = models.TextField(null=True, blank=True)
    fecha_inicio = models.DateTimeField(auto_now_add=True)
    fecha_fin = models.DateTimeField(null=True, blank=True)
    activo = models.BooleanField(default=True)

    class Meta:
        db_table = 'automatizacion_ejecuciones'
        ordering = ['-fecha_inicio']

    def __str__(self):
        return f'{self.nombre} [{self.estado}]'
