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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from datetime import datetime
  2. from sqlalchemy.dialects.postgresql import JSONB
  3. from sqlalchemy.orm import Mapped
  4. from .base import Base
  5. from .engine import db
  6. from .types import StringUUID
  7. class DatasourceOauthParamConfig(Base): # type: ignore[name-defined]
  8. __tablename__ = "datasource_oauth_params"
  9. __table_args__ = (
  10. db.PrimaryKeyConstraint("id", name="datasource_oauth_config_pkey"),
  11. db.UniqueConstraint("plugin_id", "provider", name="datasource_oauth_config_datasource_id_provider_idx"),
  12. )
  13. id = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))
  14. plugin_id: Mapped[str] = db.Column(db.String(255), nullable=False)
  15. provider: Mapped[str] = db.Column(db.String(255), nullable=False)
  16. system_credentials: Mapped[dict] = db.Column(JSONB, nullable=False)
  17. class DatasourceProvider(Base):
  18. __tablename__ = "datasource_providers"
  19. __table_args__ = (
  20. db.PrimaryKeyConstraint("id", name="datasource_provider_pkey"),
  21. db.UniqueConstraint("tenant_id", "plugin_id", "provider", "name", name="datasource_provider_unique_name"),
  22. db.Index("datasource_provider_auth_type_provider_idx", "tenant_id", "plugin_id", "provider"),
  23. )
  24. id = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))
  25. tenant_id = db.Column(StringUUID, nullable=False)
  26. name: Mapped[str] = db.Column(db.String(255), nullable=False)
  27. provider: Mapped[str] = db.Column(db.String(255), nullable=False)
  28. plugin_id: Mapped[str] = db.Column(db.String(255), nullable=False)
  29. auth_type: Mapped[str] = db.Column(db.String(255), nullable=False)
  30. encrypted_credentials: Mapped[dict] = db.Column(JSONB, nullable=False)
  31. avatar_url: Mapped[str] = db.Column(db.String(255), nullable=True, default="default")
  32. is_default: Mapped[bool] = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
  33. created_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, default=datetime.now)
  34. updated_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, default=datetime.now)
  35. class DatasourceOauthTenantParamConfig(Base):
  36. __tablename__ = "datasource_oauth_tenant_params"
  37. __table_args__ = (
  38. db.PrimaryKeyConstraint("id", name="datasource_oauth_tenant_config_pkey"),
  39. db.UniqueConstraint("tenant_id", "plugin_id", "provider", name="datasource_oauth_tenant_config_unique"),
  40. )
  41. id = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))
  42. tenant_id = db.Column(StringUUID, nullable=False)
  43. provider: Mapped[str] = db.Column(db.String(255), nullable=False)
  44. plugin_id: Mapped[str] = db.Column(db.String(255), nullable=False)
  45. client_params: Mapped[dict] = db.Column(JSONB, nullable=False, default={})
  46. enabled: Mapped[bool] = db.Column(db.Boolean, nullable=False, default=False)
  47. created_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, default=datetime.now)
  48. updated_at: Mapped[datetime] = db.Column(db.DateTime, nullable=False, default=datetime.now)