API-ADMIN-010: admin API 列表接口统一返回 userName/kbName/materialName #244

Open
opened 2026-06-19 13:01:59 +08:00 by wangdl · 1 comment
Owner

描述

当前多个 admin 页面的列表接口只返回 userId/materialId/knowledgeBaseId 等原始 ID,前端无法显示用户名、知识库名、资料名。learning API 已完成 enrichWithNames,需要扩展到其他 admin 接口。

需要改的接口

接口 需要加的字段
GET /admin-api/reviews userName
GET /admin-api/knowledge-bases userName
GET /admin-api/imports userName
GET /admin-api/billing userName
GET /admin-api/chat-logs userName
GET /admin-api/members userName
GET /admin-api/compliance/* userName
GET /admin-api/safety/* userName
GET /admin-api/notifications userName
GET /admin-api/security-events userName

方案

复用 learning-session/admin-learning.service.ts 中的 enrichWithNames 模式:收集 IDs → 批量查表 → 拼接字段。建议提取为公共 helper 放到 src/common/helpers/name-resolver.ts。

## 描述 当前多个 admin 页面的列表接口只返回 userId/materialId/knowledgeBaseId 等原始 ID,前端无法显示用户名、知识库名、资料名。learning API 已完成 enrichWithNames,需要扩展到其他 admin 接口。 ## 需要改的接口 | 接口 | 需要加的字段 | |------|-------------| | GET /admin-api/reviews | userName | | GET /admin-api/knowledge-bases | userName | | GET /admin-api/imports | userName | | GET /admin-api/billing | userName | | GET /admin-api/chat-logs | userName | | GET /admin-api/members | userName | | GET /admin-api/compliance/* | userName | | GET /admin-api/safety/* | userName | | GET /admin-api/notifications | userName | | GET /admin-api/security-events | userName | ## 方案 复用 learning-session/admin-learning.service.ts 中的 enrichWithNames 模式:收集 IDs → 批量查表 → 拼接字段。建议提取为公共 helper 放到 src/common/helpers/name-resolver.ts。
Author
Owner

开发完成评论

完成内容

  • 新建公共 helper src/common/helpers/name-resolver.ts,批量查询 User/KB/Source 表做 ID→Name 映射
  • 应用到以下 admin 接口:reviews、users/members、files、knowledge-bases、imports
  • 学习 API 的 enrichWithNames 重构为使用公共 helper

修改文件

  • src/common/helpers/name-resolver.ts(新建)
  • src/modules/learning-session/admin-learning.service.ts
  • src/modules/review/admin-review.controller.ts
  • src/modules/users/admin-users-mgmt.controller.ts
  • src/modules/files/admin-files.controller.ts
  • src/modules/admin-knowledge/admin-knowledge.controller.ts
  • src/modules/document-import/admin-imports.controller.ts

测试情况

  • 已运行: npx tsc --noEmit
  • 结果: 通过
  • 已部署到生产

未完成

  • billing、chat-logs、compliance、safety、notifications、security-events 等接口还需要单独评估加 enrichment

是否建议进入 Review

## 开发完成评论 ### 完成内容 - 新建公共 helper `src/common/helpers/name-resolver.ts`,批量查询 User/KB/Source 表做 ID→Name 映射 - 应用到以下 admin 接口:reviews、users/members、files、knowledge-bases、imports - 学习 API 的 enrichWithNames 重构为使用公共 helper ### 修改文件 - `src/common/helpers/name-resolver.ts`(新建) - `src/modules/learning-session/admin-learning.service.ts` - `src/modules/review/admin-review.controller.ts` - `src/modules/users/admin-users-mgmt.controller.ts` - `src/modules/files/admin-files.controller.ts` - `src/modules/admin-knowledge/admin-knowledge.controller.ts` - `src/modules/document-import/admin-imports.controller.ts` ### 测试情况 - 已运行: `npx tsc --noEmit` - 结果: 通过 - 已部署到生产 ### 未完成 - billing、chat-logs、compliance、safety、notifications、security-events 等接口还需要单独评估加 enrichment ### 是否建议进入 Review - 是
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#244
No description provided.