Files
FastapiAdmin/backend/app/common/enums.py
T
zhangtao 211fddd6e0 refactor: 完成项目大规模代码重构与依赖清理
这是一次综合性的重构更新,包含以下主要变更:
1.  升级Python版本到3.12,更新依赖配置
2.  替换旧的.j2模板为.jinja2格式,新增代码生成模板
3.  重构权限过滤策略,更新权限枚举与模型配置
4.  移除Prefect依赖,替换为自研拓扑并行执行引擎
5.  重构认证与上下文管理,拆分租户/请求上下文
6.  简化响应模型、CRUD与服务层代码
7.  清理废弃的支付网关模块,重构订单定时任务
8.  更新在线用户、监控等模块的接口与路由
9.  优化邮件模板与工具类,新增邮件模板文件
10. 修复数据库会话配置与类型提示
2026-06-21 06:02:05 +08:00

156 lines
3.4 KiB
Python

from enum import Enum, unique
@unique
class EnvironmentEnum(str, Enum):
"""应用运行环境(开发 / 生产)。"""
DEV = "dev"
PROD = "prod"
@unique
class BusinessType(Enum):
"""
业务操作类型
OTHER: 其它
INSERT: 新增
UPDATE: 修改
DELETE: 删除
GRANT: 授权
EXPORT: 导出
IMPORT: 导入
FORCE: 强退
GENCODE: 生成代码
CLEAN: 清空数据
"""
OTHER = 0
INSERT = 1
UPDATE = 2
DELETE = 3
GRANT = 4
EXPORT = 5
IMPORT = 6
FORCE = 7
GENCODE = 8
CLEAN = 9
@unique
class RedisInitKeyConfig(Enum):
"""系统内置Redis键名枚举"""
ACCESS_TOKEN = {"key": "access_token", "remark": "登录令牌信息"}
REFRESH_TOKEN = {"key": "refresh_token", "remark": "刷新令牌信息"}
CAPTCHA_CODES = {"key": "captcha_codes", "remark": "图片验证码"}
SYSTEM_CONFIG = {"key": "system_config", "remark": "系统配置"}
TENANT_CONFIG = {"key": "tenant_config", "remark": "租户配置"}
SYSTEM_DICT = {"key": "system_dict", "remark": "数据字典"}
APSCHEDULER_LOCK_KEY = {
"key": "scheduler_job_lock",
"remark": "定时任务初始化锁",
}
@property
def key(self) -> str:
"""
获取 Redis 键名。
返回:
- str: 键名字符串。
"""
return self.value.get("key", "")
@property
def remark(self) -> str:
"""
获取 Redis 键说明。
返回:
- str: 说明文案。
"""
return self.value.get("remark", "")
class McpType(Enum):
"""Mcp 服务器类型"""
stdio = 0
sse = 1
class McpLLMProvider(Enum):
"""MCP 大语言模型供应商"""
openai = "openai"
deepseek = "deepseek"
anthropic = "anthropic"
gemini = "gemini"
qwen = "qwen"
@unique
class QueueEnum(str, Enum):
"""队列枚举"""
none = "None"
not_none = "not None"
date = "date"
month = "month"
like = "like"
eq = "eq" or "=="
in_ = "in"
between = "between"
ne = "!=" or "ne"
gt = ">" or "gt"
ge = ">=" or "ge"
lt = "<" or "lt"
le = "<=" or "le"
class PermissionFilterStrategy(str, Enum):
"""
权限过滤策略枚举
每个策略对应一种过滤实现,模型通过 ``__permission_strategy__`` 选择。
注意:``DATA_SCOPE`` 是 dispatcher(基于 ``data_scope`` 字段再分发到
5 个具体的 data_scope 子策略),其余是具体策略。
"""
DATA_SCOPE = "data_scope" # 数据范围权限分发器(默认)
MENU_AUTH = "menu_auth" # 菜单授权(用于 MenuModel,按角色-菜单绑定过滤)
DEPT_RELATION = "dept_relation" # 部门关联(用于 DeptModel、RoleModel,按所属部门过滤)
OWN = "own" # 仅本人数据
USER_BINDING = "user_binding" # 用户绑定角色(用于 RoleModel,仅显示当前用户绑定的角色)
@unique
class OrderTypeEnum(str, Enum):
"""订单类型"""
NEW = "new"
RENEW = "renew"
UPGRADE = "upgrade"
DOWNGRADE = "downgrade"
PLUGIN = "plugin"
@unique
class InvoiceTypeEnum(str, Enum):
"""发票类型"""
VAT_NORMAL = "vat_normal"
VAT_SPECIAL = "vat_special"
@unique
class TicketTypeEnum(str, Enum):
"""工单类型"""
SUGGESTION = "suggestion"
BUG = "bug"
OPTIMIZE = "optimize"
OTHER = "other"