""" MCP bot credential model. """ from sqlalchemy import Column, BigInteger, String, DateTime, SmallInteger from sqlalchemy.sql import func from app.core.database import Base class MCPBot(Base): """Stores MCP access credentials mapped to a NexDocs user.""" __tablename__ = "mcp_bots" id = Column(BigInteger, primary_key=True, autoincrement=True, comment="Bot credential ID") user_id = Column(BigInteger, nullable=False, unique=True, index=True, comment="Owner user ID") bot_id = Column(String(64), nullable=False, unique=True, index=True, comment="External MCP bot id") bot_secret = Column(String(255), nullable=False, comment="External MCP bot secret") status = Column(SmallInteger, default=1, index=True, comment="Status: 0-disabled 1-enabled") last_used_at = Column(DateTime, comment="Last successful MCP access time") created_at = Column(DateTime, server_default=func.now(), comment="Created at") updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment="Updated at") def __repr__(self): return f""