"""FlowPilot survey response storage.""" import uuid from datetime import datetime, timezone from sqlalchemy import Boolean, Column, DateTime, ForeignKey, String, Text from sqlalchemy.dialects.postgresql import JSONB, UUID from app.core.database import Base class SurveyResponse(Base): __tablename__ = "survey_responses" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) respondent_name = Column(String(255), nullable=True) responses = Column(JSONB, nullable=False) ip_address = Column(String(45), nullable=True) user_agent = Column(Text, nullable=True) invite_id = Column(UUID(as_uuid=True), ForeignKey("survey_invites.id"), nullable=True) is_read = Column(Boolean, nullable=False, default=False) archived_at = Column(DateTime(timezone=True), nullable=True) created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), nullable=False)