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