Files
FastapiAdmin/backend/app/api/v1/routers.py
T
zhangtao a8d29d4ab4 fix: 修复多项后端缺陷并加固安全与限流
- 修正 AI 会话表初始化及异步数据库 URI 处理
- 新增全局 API 与 WS 聊天限流,健康检查豁免
- 修复忘记密码接口防用户枚举与参数校验
- 修复 SSE 推送数据重复编码问题
- 修复 Cron 表达式 Quartz 问号兼容
- 修复存储模块权限标识前缀
- 新增过期日志清理与任务错误中文提示
2026-09-07 00:08:00 +08:00

73 lines
2.7 KiB
Python

"""v1 路由总表"""
from fastapi import APIRouter, Depends
from app.core.rate_limiter import api_rate_limiter
from app.modules.ai.chat.controller import ChatRouter
from app.modules.common.file.controller import FileRouter
from app.modules.generator.gencode.controller import GenRouter
from app.modules.monitor.cache.controller import CacheRouter
from app.modules.monitor.health.controller import HealthRouter
from app.modules.monitor.online.controller import OnlineRouter
from app.modules.monitor.server.controller import ServerRouter
from app.modules.system.auth.controller import AuthRouter
from app.modules.system.dept.controller import DeptRouter
from app.modules.system.dict.controller import DictRouter
from app.modules.system.log.controller import LogRouter
from app.modules.system.menu.controller import MenuRouter
from app.modules.system.notice.controller import NoticeRouter
from app.modules.system.params.controller import ParamsRouter
from app.modules.system.position.controller import PositionRouter
from app.modules.system.role.controller import RoleRouter
from app.modules.system.ticket.controller import TicketRouter
from app.modules.system.user.controller import UserRouter
from app.modules.system.versions.controller import VersionRouter
from app.modules.task.cronjob.job.controller import CronJobRouter
from app.modules.task.cronjob.node.controller import CronJobNodeRouter
from app.modules.task.storage.browse.controller import StorageBrowseRouter
from app.modules.task.storage.node.controller import StorageNodeRouter
from app.modules.task.storage.transfer.controller import StorageTransferRouter
from app.modules.task.storage.workflow.controller import StorageWorkflowRouter
# 域前缀 → 该域 controller 清单(唯一路由事实来源)
DOMAIN_CONTROLLERS: dict[str, list[APIRouter]] = {
"/system": [
AuthRouter,
UserRouter,
RoleRouter,
MenuRouter,
DeptRouter,
PositionRouter,
DictRouter,
ParamsRouter,
NoticeRouter,
TicketRouter,
VersionRouter,
LogRouter,
],
"/monitor": [
CacheRouter,
HealthRouter,
OnlineRouter,
ServerRouter,
],
"/task": [
CronJobRouter,
CronJobNodeRouter,
StorageBrowseRouter,
StorageNodeRouter,
StorageTransferRouter,
StorageWorkflowRouter,
],
"/ai": [ChatRouter],
"/generator": [GenRouter],
"/common": [FileRouter],
}
api_v1 = APIRouter(dependencies=[Depends(api_rate_limiter)])
for prefix, controllers in DOMAIN_CONTROLLERS.items():
router = APIRouter(prefix=prefix)
for controller in controllers:
router.include_router(controller)
api_v1.include_router(router)