from sqlalchemy import ( Column, Integer, String, DateTime, func, UniqueConstraint, ) from community_qa_bot.db import Base from .base import AESEncryptedColumn class SlackInstalledBot(Base): id = Column(Integer, primary_key=True) app_id = Column(String(50)) team_id = Column(String(50), comment="workspace id") team_name = Column(String(50), comment="workspace name") access_token = Column(AESEncryptedColumn) bot_id = Column(String(50)) bot_user_id = Column(String(50)) created_at = Column(DateTime, default=func.now()) __tablename__ = 'slack_installed_bots' class SlackAIChannel(Base): id = Column(Integer, primary_key=True) team_id = Column(String(50), comment="workspace id") channel_id = Column(String(50)) comment = Column(String(200), nullable=True) created_at = Column(DateTime, default=func.now()) __tablename__ = 'slack_ai_channels' __table_args__ = ( UniqueConstraint( 'team_id', 'channel_id', name='uix_slack_ai_channels', ), )