您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

api_based_extension.py 1.1KB

12345678910111213141516171819202122232425262728293031
  1. import enum
  2. from datetime import datetime
  3. from sqlalchemy import DateTime, String, Text, func
  4. from sqlalchemy.orm import Mapped, mapped_column
  5. from .base import Base
  6. from .engine import db
  7. from .types import StringUUID
  8. class APIBasedExtensionPoint(enum.Enum):
  9. APP_EXTERNAL_DATA_TOOL_QUERY = "app.external_data_tool.query"
  10. PING = "ping"
  11. APP_MODERATION_INPUT = "app.moderation.input"
  12. APP_MODERATION_OUTPUT = "app.moderation.output"
  13. class APIBasedExtension(Base):
  14. __tablename__ = "api_based_extensions"
  15. __table_args__ = (
  16. db.PrimaryKeyConstraint("id", name="api_based_extension_pkey"),
  17. db.Index("api_based_extension_tenant_idx", "tenant_id"),
  18. )
  19. id = mapped_column(StringUUID, server_default=db.text("uuid_generate_v4()"))
  20. tenant_id = mapped_column(StringUUID, nullable=False)
  21. name: Mapped[str] = mapped_column(String(255), nullable=False)
  22. api_endpoint: Mapped[str] = mapped_column(String(255), nullable=False)
  23. api_key = mapped_column(Text, nullable=False)
  24. created_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, server_default=func.current_timestamp())