"""飞书配置管理"""
import os
from typing import Optional
from dotenv import load_dotenv
from pydantic import BaseModel, Field
# 加载.env文件
load_dotenv()
class FeishuConfig(BaseModel):
"""飞书配置"""
app_id: str = Field(default_factory=lambda: os.getenv("FEISHU_APP_ID", ""))
app_secret: str = Field(
default_factory=lambda: os.getenv("FEISHU_APP_SECRET", "")
)
test_folder_token: Optional[str] = Field(
default_factory=lambda: os.getenv("FEISHU_TEST_FOLDER_TOKEN", "")
)
_config: Optional[FeishuConfig] = None
def get_config() -> FeishuConfig:
"""获取配置单例"""
global _config
if _config is None:
_config = FeishuConfig()
return _config