from sqlalchemy import Column, Integer, String, ForeignKey, Text, Boolean
from sqlalchemy.orm import relationship
from utils.db_connect import BaseModelForTable
from sqlalchemy.dialects.postgresql import UUID


class Comment(BaseModelForTable):
    __tablename__ = 'comments'
    ticket_id=Column(UUID, ForeignKey('tickets.id'), nullable=False)
    author_id=Column(UUID, ForeignKey('users.id'), nullable=False)
    content=Column(Text, nullable=False)
    is_edited=Column(Boolean, default=False, nullable=False)


    #relationships
    ticket = relationship("Ticket", back_populates="comments")
    author = relationship("User", back_populates="comments")

    def __repr__(self):
        return f"<Comment(id={self.id}, ticket_id={self.ticket_id}, author_id={self.author_id})>"
    