ipns-poc-eval / src /models /_analysis.py
Aryan Jain
update table schema
5cb75d9
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 AnalysisType(PyEnum):
STRENGTHS = "STRENGTHS"
WEAKNESSES = "WEAKNESSES"
DEFICIENCIES = "DEFICIENCIES"
class AnalysisStatus(PyEnum):
ACCEPTED = "ACCEPTED"
REJECTED = "REJECTED"
PENDING = "PENDING"
class Analysis(Base):
__tablename__ = "analysis"
id = Column(UUID(as_uuid=True), primary_key=True)
evaluation_id = Column(
UUID(as_uuid=True),
ForeignKey("evaluations.id", ondelete="CASCADE"),
nullable=False,
)
insights = Column(String, nullable=False)
analysis_type = Column(Enum(AnalysisType), nullable=False)
status = Column(Enum(AnalysisStatus, name="analysisstatus"), nullable=False, default=AnalysisStatus.PENDING)
created_at = Column(DateTime(), nullable=False, default=func.now())
updated_at = Column(
DateTime(), nullable=False, default=func.now(), onupdate=func.now()
)