| 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, |
| ) |
|
|