from typing import Optional from pydantic import Field from pydantic_settings import BaseSettings class NotionConfig(BaseSettings): """ Configuration settings for Notion integration """ NOTION_CLIENT_ID: Optional[str] = Field( description="Client ID for Notion API authentication. Required for OAuth 2.0 flow.", default=None, ) NOTION_CLIENT_SECRET: Optional[str] = Field( description="Client secret for Notion API authentication. Required for OAuth 2.0 flow.", default=None, ) NOTION_INTEGRATION_TYPE: Optional[str] = Field( description="Type of Notion integration." " Set to 'internal' for internal integrations, or None for public integrations.", default=None, ) NOTION_INTERNAL_SECRET: Optional[str] = Field( description="Secret key for internal Notion integrations. Required when NOTION_INTEGRATION_TYPE is 'internal'.", default=None, ) NOTION_INTEGRATION_TOKEN: Optional[str] = Field( description="Integration token for Notion API access. Used for direct API calls without OAuth flow.", default=None, )