from sqlalchemy import Column, String, Integer, ForeignKey from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from backend.app.models.base import BaseDBModel class Review(BaseDBModel): __tablename__ = "reviews" booking_id = Column(UUID(as_uuid=True), ForeignKey("bookings.id", ondelete="CASCADE"), index=True, nullable=False) reviewer_id = Column(UUID(as_uuid=True), ForeignKey("users.id", ondelete="CASCADE"), index=True, nullable=False) reviewee_id = Column(UUID(as_uuid=True), ForeignKey("users.id", ondelete="CASCADE"), index=True, nullable=False) rating = Column(Integer, nullable=False) # 1 to 5 comment = Column(String, nullable=True) # Relationships booking = relationship("Booking", back_populates="reviews") reviewer = relationship("User", foreign_keys=[reviewer_id]) reviewee = relationship("User", foreign_keys=[reviewee_id]) class Review_Table_Init: pass