notion_config.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from typing import Optional
  2. from pydantic import Field
  3. from pydantic_settings import BaseSettings
  4. class NotionConfig(BaseSettings):
  5. """
  6. Configuration settings for Notion integration
  7. """
  8. NOTION_CLIENT_ID: Optional[str] = Field(
  9. description="Client ID for Notion API authentication. Required for OAuth 2.0 flow.",
  10. default=None,
  11. )
  12. NOTION_CLIENT_SECRET: Optional[str] = Field(
  13. description="Client secret for Notion API authentication. Required for OAuth 2.0 flow.",
  14. default=None,
  15. )
  16. NOTION_INTEGRATION_TYPE: Optional[str] = Field(
  17. description="Type of Notion integration."
  18. " Set to 'internal' for internal integrations, or None for public integrations.",
  19. default=None,
  20. )
  21. NOTION_INTERNAL_SECRET: Optional[str] = Field(
  22. description="Secret key for internal Notion integrations. Required when NOTION_INTEGRATION_TYPE is 'internal'.",
  23. default=None,
  24. )
  25. NOTION_INTEGRATION_TOKEN: Optional[str] = Field(
  26. description="Integration token for Notion API access. Used for direct API calls without OAuth flow.",
  27. default=None,
  28. )