From f9b1039970c423ecc4532ad29bc307cd295c5215 Mon Sep 17 00:00:00 2001 From: Neo Date: Fri, 20 Mar 2026 09:03:11 +0800 Subject: [PATCH] chore: update tenant admin spec --- .kiro/specs/tenant-admin-web/design.md | 9 --------- .kiro/specs/tenant-admin-web/requirements.md | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/.kiro/specs/tenant-admin-web/design.md b/.kiro/specs/tenant-admin-web/design.md index 1c0288f..88c5a9e 100644 --- a/.kiro/specs/tenant-admin-web/design.md +++ b/.kiro/specs/tenant-admin-web/design.md @@ -186,15 +186,6 @@ async def require_tenant_admin( ) ``` -数据隔离通过 `managed_site_ids` 实现: - -```python -def site_filter_clause(admin: CurrentTenantAdmin) -> tuple[str, tuple]: - """生成 site_id IN (...) SQL 片段。""" - placeholders = ",".join(["%s"] * len(admin.managed_site_ids)) - return f"site_id IN ({placeholders})", tuple(admin.managed_site_ids) -``` - ### 前端组件结构 ``` diff --git a/.kiro/specs/tenant-admin-web/requirements.md b/.kiro/specs/tenant-admin-web/requirements.md index eaab1c1..8b660a0 100644 --- a/.kiro/specs/tenant-admin-web/requirements.md +++ b/.kiro/specs/tenant-admin-web/requirements.md @@ -235,7 +235,7 @@ #### 验收标准 -1. THE Backend_API SHALL 在 `apps/backend/app/routers/` 下创建 4 个路由文件:`tenant_auth.py`(登录/JWT 签发/鉴权)、`tenant_users.py`(用户审核+用户管理)、`tenant_excel.py`(Excel 上传/校验/冲突处理)、`tenant_clues.py`(维客线索管理) -2. THE Backend_API SHALL 将所有租户管理端点注册在 `/api/tenant/` 路径前缀下,与小程序端点(`/api/xcx/`)和管理后台端点(`/api/admin/`)隔离 -3. THE Backend_API SHALL 为所有 `/api/tenant/*` 端点(登录接口除外)添加 `require_tenant_admin()` 认证依赖,验证 JWT 的 `aud` 字段为 `tenant-admin` +1. THE Backend_API SHALL 在 `apps/backend/app/routers/` 下创建 4 个路由文件:`tenant_auth.py`(登录/JWT 签发/鉴权)、`tenant_users.py`(用户审核+用户管理)、`tenant_excel.py`(Excel 上传/校验/冲突处理)、`tenant_clues.py`(维客线索管理),以及 1 个管理端路由文件 `admin_tenant_admins.py`(租户管理员 CRUD) +2. THE Backend_API SHALL 将所有租户管理端点注册在 `/api/tenant/` 路径前缀下,管理端租户管理员 CRUD 端点注册在 `/api/admin/tenant-admins/` 路径前缀下,与小程序端点(`/api/xcx/`)隔离 +3. THE Backend_API SHALL 为所有 `/api/tenant/*` 端点(登录接口除外)添加 `require_tenant_admin()` 认证依赖,验证 JWT 的 `aud` 字段为 `tenant-admin`;为 `/api/admin/tenant-admins/*` 端点添加 `_require_admin()` 认证依赖,验证 site_admin 或 tenant_admin 角色 4. THE Backend_API SHALL 遵循现有的 API 响应格式约定:成功返回 `{ code: 0, data: ... }`,失败返回 `{ code: number, message: string }`,分页返回 `{ items: T[], total: number, page: number, pageSize: number }`