Spaces:
Runtime error
Runtime error
File size: 3,263 Bytes
8e1c132 63dfa98 8e1c132 63dfa98 8e1c132 63dfa98 8e1c132 63dfa98 8e1c132 63dfa98 8e1c132 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
from enum import Enum as PyEnum
from sqlalchemy import (
Column,
DateTime,
Enum,
Float,
ForeignKey,
Integer,
String,
func,
)
from sqlalchemy.dialects.postgresql import UUID
from ._base import Base
class Category(PyEnum):
TECHNICAL = "TECHNICAL"
MANAGEMENT = "MANAGEMENT"
PAST_PERFORMANCE = "PAST_PERFORMANCE"
PRICE = "PRICE"
class ProposalAIAnalysis(Base):
__tablename__ = "proposal_ai_analyses"
id = Column(UUID(as_uuid=True), primary_key=True, nullable=False)
proposal_id = Column(
UUID(as_uuid=True),
ForeignKey("proposals.id", ondelete="CASCADE"),
nullable=False,
)
ai_score = Column(Float, nullable=False)
created_at = Column(DateTime, nullable=False, default=func.now())
updated_at = Column(
DateTime, nullable=False, default=func.now(), onupdate=func.now()
)
class ProposalStrength(Base):
__tablename__ = "proposal_strengths"
id = Column(UUID(as_uuid=True), primary_key=True, nullable=False)
proposal_id = Column(
UUID(as_uuid=True),
ForeignKey("proposals.id", ondelete="CASCADE"),
nullable=False,
)
strength_point = Column(String, nullable=False)
category = Column(Enum(Category, name="strengthcategory"), nullable=False)
created_at = Column(DateTime, nullable=False, default=func.now())
updated_at = Column(
DateTime, nullable=False, default=func.now(), onupdate=func.now()
)
class ProposalRejectionReason(Base):
__tablename__ = "proposal_rejection_reasons"
id = Column(UUID(as_uuid=True), primary_key=True, nullable=False)
proposal_id = Column(
UUID(as_uuid=True),
ForeignKey("proposals.id", ondelete="CASCADE"),
nullable=False,
)
reason = Column(String, nullable=False)
category = Column(Enum(Category, name="rejectioncategory"), nullable=False)
created_at = Column(DateTime, nullable=False, default=func.now())
updated_at = Column(
DateTime, nullable=False, default=func.now(), onupdate=func.now()
)
class ProposalWeakness(Base):
__tablename__ = "proposal_weaknesses"
id = Column(UUID(as_uuid=True), primary_key=True, nullable=False)
proposal_id = Column(
UUID(as_uuid=True),
ForeignKey("proposals.id", ondelete="CASCADE"),
nullable=False,
)
weakness_point = Column(String, nullable=False)
category = Column(Enum(Category, name="weaknesscategory"), nullable=False)
created_at = Column(DateTime, nullable=False, default=func.now())
updated_at = Column(
DateTime, nullable=False, default=func.now(), onupdate=func.now()
)
class ProposalImprovement(Base):
__tablename__ = "proposal_improvements"
id = Column(UUID(as_uuid=True), primary_key=True, nullable=False)
proposal_id = Column(
UUID(as_uuid=True),
ForeignKey("proposals.id", ondelete="CASCADE"),
nullable=False,
)
improvement_point = Column(String, nullable=False)
category = Column(Enum(Category, name="improvementcategory"), nullable=False)
created_at = Column(DateTime, nullable=False, default=func.now())
updated_at = Column(
DateTime, nullable=False, default=func.now(), onupdate=func.now()
)
|