mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 04:46:26 +00:00
1. 调整后端模块路由与插件文件结构,迁移部分模块代码至api/v1目录 2. 优化代码注释格式与文档字符串,简化冗余代码 3. 添加监控仪表盘、工单评论等新模块功能 4. 修复前端部分组件交互逻辑与类型定义 5. 清理冗余的初始化数据与废弃配置文件 6. 新增租户注册表单字段与国际化支持 7. 优化HTTP请求拦截器与快捷键功能
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
from contextvars import ContextVar, Token
|
|
from dataclasses import dataclass
|
|
from typing import Any
|
|
|
|
# ── 日志注入 ──
|
|
_correlation_id: ContextVar[str] = ContextVar("correlation_id", default="")
|
|
|
|
|
|
def set_correlation_id(cid: str) -> Token:
|
|
return _correlation_id.set(cid)
|
|
|
|
|
|
def get_correlation_id() -> str:
|
|
return _correlation_id.get()
|
|
|
|
|
|
def reset_correlation_id(token: Token) -> None:
|
|
_correlation_id.reset(token)
|
|
|
|
|
|
# ── 租户上下文 ──
|
|
current_tenant_id: ContextVar[int | None] = ContextVar("current_tenant_id", default=None)
|
|
|
|
|
|
def set_current_tenant(tenant_id: int | None) -> None:
|
|
current_tenant_id.set(tenant_id)
|
|
|
|
|
|
def get_current_tenant_id() -> int | None:
|
|
return current_tenant_id.get()
|
|
|
|
|
|
def clear_current_tenant() -> None:
|
|
current_tenant_id.set(None)
|
|
|
|
|
|
# ── request.state.ctx ──
|
|
|
|
|
|
@dataclass
|
|
class RequestContext:
|
|
jwt_payload: Any = None
|
|
jwt_user_info: dict[str, Any] | None = None
|
|
session_id: str | None = None
|
|
user_id: int | None = None
|
|
user_username: str | None = None
|
|
session_info: dict[str, Any] | None = None
|
|
login_location: str | None = None
|