"""
Feedback data model for AI analysis results.
"""

from tortoise import fields, models


class AIFeedbackData(models.Model):
    """Model for the mip_ai_generate_feedback_data_tbl table."""

    id = fields.BigIntField(pk=True)
    user_id = fields.BigIntField(null=True, description="User ID")
    interview_id = fields.BigIntField(null=True, description="Interview ID")
    question_id = fields.BigIntField(null=True, description="Question ID")
    interview_type = fields.CharField(
        max_length=1,
        null=True,
        description="Interview type (1=general, 2=custom, 3=scripted)",
    )
    content = fields.JSONField(null=True, description="AI analysis results as JSON")

    class Meta:
        table = "mip_ai_generate_feedback_data_tbl"
        table_description = "AI feedback analysis results"

    def __str__(self):
        return f"AIFeedbackData(id={self.id}, user_id={self.user_id}, interview_id={self.interview_id})"

    def to_dict(self):
        """Convert model to dictionary."""
        return {
            "id": self.id,
            "user_id": self.user_id,
            "interview_id": self.interview_id,
            "question_id": self.question_id,
            "interview_type": self.interview_type,
            "content": self.content,
        }
