"""Comment model""" from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean, Text, Enum from sqlalchemy.orm import relationship from sqlalchemy.sql import func from datetime import datetime import enum from app.database import Base class SeverityEnum(str, enum.Enum): """Comment severity levels""" INFO = "info" WARNING = "warning" ERROR = "error" class Comment(Base): """Review comment model""" __tablename__ = "comments" id = Column(Integer, primary_key=True, index=True) review_id = Column(Integer, ForeignKey("reviews.id"), nullable=False) file_path = Column(String, nullable=False) line_number = Column(Integer, nullable=False) content = Column(Text, nullable=False) severity = Column(Enum(SeverityEnum), default=SeverityEnum.INFO) posted = Column(Boolean, default=False) posted_at = Column(DateTime, nullable=True) created_at = Column(DateTime, default=datetime.utcnow, server_default=func.now()) # Relationships review = relationship("Review", back_populates="comments") def __repr__(self): return f""