refactor(core): 重构核心模块结构并更新导入路径

- 将配置相关的设置从 app.core.config 移除
- 将常量定义从 app.core.constants 移除
- 将数据库相关功能从 app.core.database 移除
- 将基础数据库模型从 app.core.db_base 移除
- 将敏感信息掩码功能从 app.core.masking 移除
- 将中间件定义从 app.core.middleware 移除
- 将操作保护功能从 app.core.operation_guard 移除
- 将分页工具从 app.core.pagination 移除
- 将请求上下文管理从 app.core.request_context 移除
- 将调度器功能从 app.core.scheduler 移除
- 将安全认证逻辑从 app.core.security 移除
- 将任务队列相关功能从 app.core.task_queue 移除
- 将时间工具从 app.core.time 移除
- 更新 alembic 配置中的 Base 模型导入路径
- 更新各模块中对重构后组件的引用路径
```
This commit is contained in:
2026-07-09 17:41:16 +08:00
parent 0cda45238a
commit dc8605ce3f
47 changed files with 129 additions and 54 deletions

View File

@@ -0,0 +1 @@
"""Background scheduler and queue helpers."""

View File

@@ -33,7 +33,7 @@ def create_scheduler(app: FastAPI | None = None) -> Any:
from apscheduler.schedulers.background import BackgroundScheduler
from app.core.database import SessionLocal
from app.core.task_queue import (
from app.core.background.task_queue import (
enqueue_daily_brief_push,
enqueue_event_dispatch,
enqueue_legacy_project_sync,

View File

@@ -0,0 +1,3 @@
from app.core.config.settings import Settings, get_settings
__all__ = ["Settings", "get_settings"]

View File

@@ -0,0 +1,23 @@
from app.core.constants.values import (
BEARER_TOKEN_TEMPLATE,
DEFAULT_MODEL_PROVIDER,
DEFAULT_OPENCLAW_ACTION_JSON,
ActorValue,
ApiResponseKey,
ApiStatus,
ConfigErrorDetail,
HttpHeader,
SecurityErrorDetail,
)
__all__ = [
"ActorValue",
"ApiResponseKey",
"ApiStatus",
"BEARER_TOKEN_TEMPLATE",
"ConfigErrorDetail",
"DEFAULT_MODEL_PROVIDER",
"DEFAULT_OPENCLAW_ACTION_JSON",
"HttpHeader",
"SecurityErrorDetail",
]

View File

@@ -0,0 +1,30 @@
from typing import Any
from app.core.database.base import Base
__all__ = [
"Base",
"LegacySessionLocal",
"SessionLocal",
"engine",
"get_db",
"get_legacy_db",
"legacy_engine",
]
_SESSION_EXPORTS = {
"LegacySessionLocal",
"SessionLocal",
"engine",
"get_db",
"get_legacy_db",
"legacy_engine",
}
def __getattr__(name: str) -> Any:
if name in _SESSION_EXPORTS:
from app.core.database import session
return getattr(session, name)
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

View File

@@ -4,7 +4,8 @@ from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
from app.core.config import get_settings
from app.core.db_base import Base
from .base import Base
settings = get_settings()

View File

@@ -0,0 +1 @@
"""HTTP middleware, masking, pagination, and request context helpers."""

View File

@@ -4,7 +4,7 @@ from collections.abc import Callable
from fastapi import Request, Response
from app.core.constants import HttpHeader
from app.core.request_context import reset_request_id, set_request_id
from app.core.http.request_context import reset_request_id, set_request_id
async def request_id_middleware(request: Request, call_next: Callable) -> Response:

View File

@@ -0,0 +1,13 @@
from app.core.security.api_keys import ApiPrincipal, require_api_key, require_audit_api_key
from app.core.security.operation_guard import (
READ_ONLY_OPERATION_DISABLED,
require_operations_enabled,
)
__all__ = [
"ApiPrincipal",
"READ_ONLY_OPERATION_DISABLED",
"require_api_key",
"require_audit_api_key",
"require_operations_enabled",
]

View File

@@ -0,0 +1 @@
"""Core utility helpers."""