"""Review Event model - хранение событий процесса review""" from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, JSON from sqlalchemy.orm import relationship from datetime import datetime from app.database import Base class ReviewEvent(Base): """Событие процесса review""" __tablename__ = "review_events" id = Column(Integer, primary_key=True, index=True) review_id = Column(Integer, ForeignKey("reviews.id", ondelete="CASCADE"), nullable=False, index=True) event_type = Column(String(50), nullable=False) # agent_step, llm_message, review_started, etc. step = Column(String(100), nullable=True) # fetch_pr_info, analyze_files, etc. message = Column(Text, nullable=True) data = Column(JSON, nullable=True) # Дополнительные данные события created_at = Column(DateTime, default=datetime.utcnow, nullable=False, index=True) # Relationships review = relationship("Review", back_populates="events") def __repr__(self): return f""