Spaces:
Runtime error
Runtime error
| 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 ProposalStatus(PyEnum): | |
| APPROVED = "APPROVED" | |
| EVALUATED = "EVALUATED" | |
| IN_REVIEW = "IN_REVIEW" | |
| class GateCriteria(PyEnum): | |
| PASS = "PASS" | |
| FAIL = "FAIL" | |
| IN_REVIEW = "IN_REVIEW" | |
| class Proposal(Base): | |
| __tablename__ = "proposals" | |
| id = Column(UUID(as_uuid=True), primary_key=True, nullable=False) | |
| rfp_id = Column( | |
| UUID(as_uuid=True), ForeignKey("rfps.id", ondelete="CASCADE"), nullable=False | |
| ) | |
| name = Column(String, nullable=False) | |
| tep = Column(String, nullable=False) | |
| gate_criteria = Column(Enum(GateCriteria), nullable=False) | |
| status = Column(Enum(ProposalStatus), nullable=False) | |
| ai_score = Column(Float, nullable=True) | |
| final_score = Column(Float, nullable=True) | |
| reason_for_continue_evaluation = Column(String, nullable=True) | |
| created_at = Column(DateTime, nullable=False, default=func.now()) | |
| updated_at = Column( | |
| DateTime, nullable=False, default=func.now(), onupdate=func.now() | |
| ) | |