from enum import Enum as PyEnum from sqlalchemy import ( Column, DateTime, Enum, Float, ForeignKey, Integer, String, func, ) from sqlalchemy.dialects.postgresql import UUID from pydantic import BaseModel from ._base import Base class EvaluationType(PyEnum): TECHNICAL = "TECHNICAL" MANAGEMENT = "MANAGEMENT" PAST_PERFORMANCE = "PAST_PERFORMANCE" PRICE = "PRICE" class Evaluations(Base): __tablename__ = "evaluations" id = Column(UUID(as_uuid=True), primary_key=True) proposal_id = Column( UUID(as_uuid=True), ForeignKey("proposals.id", ondelete="CASCADE"), nullable=False, ) evaluation_type = Column(Enum(EvaluationType), nullable=False) ai_score = Column(Float(), nullable=True) adjusted_score = Column(Float(), nullable=True) created_at = Column(DateTime(), nullable=False, default=func.now()) updated_at = Column( DateTime(), nullable=False, default=func.now(), onupdate=func.now() )