from sqlalchemy import Column, Integer, String, DateTime, Text from sqlalchemy.dialects.postgresql import UUID, ARRAY, JSONB from sqlalchemy.ext.declarative import declarative_base import uuid Base = declarative_base() class Interview(Base): __tablename__ = "interviews" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) expired_date = Column(DateTime, nullable=False) start_date = Column(DateTime, nullable=True) url = Column(String, unique=True, nullable=False) status = Column(String, nullable=True) duration = Column(Integer, nullable=True) transcript = Column(ARRAY(JSONB), nullable=True) # JSONB storing list of dicts summary = Column(Text, nullable=True) recording_url = Column(String, nullable=True) prompt = Column(Text, nullable=True) token = Column(String, nullable=True)