feat(backend): knowledge iteration + vision + neo4j + response contract source

dependencies.py 拆分为 dependencies/ 包; 新增 vision/ragflow_ingestion/neo4j 客户端与 h5_ai_task; alembic 045 图置信度迁移; 响应契约统一收尾。
This commit is contained in:
Simon
2026-07-09 11:47:16 +08:00
parent f5374fce9b
commit ead5f83bee
39 changed files with 5276 additions and 545 deletions
+12 -6
View File
@@ -78,11 +78,12 @@ async def get_current_admin_user(
# 1. GET /api/admin/users — 获取管理员列表
# =============================================================================
@router.get("", response_model=None)
@require_role("admin")
async def list_admin_users(
page: int = Query(1, ge=1, description="页码"),
page_size: int = Query(20, ge=1, le=100, description="每页数量"),
is_active: Optional[bool] = Query(None, description="是否激活(true=在线,false=离线)"),
current_user: UserInfo = Depends(require_role("admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""获取管理员用户列表。
@@ -131,9 +132,10 @@ async def list_admin_users(
# 2. POST /api/admin/users — 创建管理员
# =============================================================================
@router.post("", response_model=None)
@require_role("super_admin")
async def create_admin_user(
body: AdminUserCreateRequest,
current_user: UserInfo = Depends(require_role("super_admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""创建管理员用户。
@@ -184,9 +186,10 @@ async def create_admin_user(
# 3. GET /api/admin/users/{id} — 获取管理员详情
# =============================================================================
@router.get("/{id}", response_model=None)
@require_role("admin")
async def get_admin_user(
id: str,
current_user: UserInfo = Depends(require_role("admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""获取管理员用户详情。
@@ -224,10 +227,11 @@ async def get_admin_user(
# 4. PUT /api/admin/users/{id} — 更新管理员
# =============================================================================
@router.put("/{id}", response_model=None)
@require_role("admin")
async def update_admin_user(
id: str,
body: AdminUserUpdateRequest,
current_user: UserInfo = Depends(require_role("admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""更新管理员用户。
@@ -287,9 +291,10 @@ async def update_admin_user(
# 5. DELETE /api/admin/users/{id} — 删除管理员
# =============================================================================
@router.delete("/{id}", response_model=None)
@require_role("super_admin")
async def delete_admin_user(
id: str,
current_user: UserInfo = Depends(require_role("super_admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""删除管理员用户。
@@ -325,10 +330,11 @@ async def delete_admin_user(
# 6. POST /api/admin/users/{id}/reset-password — 重置密码
# =============================================================================
@router.post("/{id}/reset-password", response_model=None)
@require_role("admin")
async def reset_password(
id: str,
body: AdminUserResetPasswordRequest,
current_user: UserInfo = Depends(require_role("admin")),
current_user: UserInfo = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""重置管理员密码。