This commit is contained in:
Primakov Alexandr Alexandrovich
2025-10-12 23:15:09 +03:00
commit 09cdd06307
88 changed files with 15007 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
"""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"<Comment(id={self.id}, file={self.file_path}:{self.line_number}, severity={self.severity})>"