from django.db import models
from django.conf import settings
#from model_registry.models import AiModel

class InferenceAuditLog(models.Model):
    """บันทึกทุกคำสั่งรัน Inference ที่เข้ามาใน Gateway"""

    # ข้อมูลผู้ใช้/โมเดล
    # ใช้ ForeignKey ไปยัง CustomUser และ AiModel
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, verbose_name="ผู้ใช้งาน")
    #model = models.ForeignKey(AiModel, on_delete=models.SET_NULL, null=True, verbose_name="Model ที่ถูกเรียก")

    # ข้อมูลการประมวลผล
    timestamp = models.DateTimeField(auto_now_add=True, verbose_name="เวลาเรียกใช้")
    endpoint_url = models.CharField(max_length=500, verbose_name="FastAPI Endpoint")
    http_status = models.IntegerField(verbose_name="HTTP Status Code")
    latency_ms = models.FloatField(verbose_name="Latency (ms)")
    is_success = models.BooleanField(default=False, verbose_name="สำเร็จหรือไม่")

    # ผลลัพธ์
    response_summary = models.TextField(blank=True, null=True, verbose_name="ผลลัพธ์สรุป/ข้อความ error")

    class Meta:
        ordering = ['-timestamp']
        verbose_name = "Inference Audit Log"
        verbose_name_plural = "Inference Audit Logs"
