import uuid from datetime import datetime from sqlalchemy import Column, String, Text, DateTime, Boolean, ForeignKey from sqlalchemy.dialects.postgresql import UUID, JSONB from app.core.database import Base class FlowTemplate(Base): __tablename__ = "flow_templates" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) name = Column(String(100), nullable=False) description = Column(Text, nullable=True) category = Column(String(50), default="general", nullable=False) nodes = Column(JSONB, default=list) edges = Column(JSONB, default=list) variables = Column(JSONB, default=dict) preview_image = Column(String(500), nullable=True) is_public = Column(Boolean, default=True, nullable=False) created_by = Column(UUID(as_uuid=True), ForeignKey("users.id"), nullable=False) created_at = Column(DateTime, default=datetime.utcnow, nullable=False)