M7-02 P1 | Prisma ChatSession 新增 createdFrom isArchived isPinned isDeleted #80

Closed
opened 2026-06-06 16:21:46 +08:00 by wangdl · 1 comment
Owner

目标

ChatSession 增加会话来源标记和管理字段。

Schema

  • createdFrom String @default(global_ai_entry)
  • isPinned Boolean @default(false)
  • isArchived Boolean @default(false)
  • isDeleted Boolean @default(false) 替代硬删除

说明

createdFrom 记录从哪个入口创建。isArchived 不出现在默认列表。isPinned 优先排序。

## 目标 ChatSession 增加会话来源标记和管理字段。 ## Schema - createdFrom String @default(global_ai_entry) - isPinned Boolean @default(false) - isArchived Boolean @default(false) - isDeleted Boolean @default(false) 替代硬删除 ## 说明 createdFrom 记录从哪个入口创建。isArchived 不出现在默认列表。isPinned 优先排序。
wangdl added this to the M7:ChatScope 会话系统 — 学习对象绑定的上下文会话 milestone 2026-06-06 16:21:46 +08:00
Author
Owner

关闭原因

本 issue 是合并 issue,已拆分为两个更细粒度的子 issue:

子 Issue 内容 状态
#92 M7-02a createdFrom + isDeleted 已完成
#93 M7-02b isArchived + isPinned 已完成

交付情况

子 issue 已全部完成,交付物如下:

Schema 变更 (prisma/schema.prisma)

createdFrom  String   @default("legacy_migration") @db.VarChar(32)
isPinned    Boolean  @default(false)
isArchived  Boolean  @default(false)
isDeleted   Boolean  @default(false)

Service 变更 (rag-chat.service.ts)

  • createSession 接受 createdFrom 参数
  • deleteSession 改为软删除 (isDeleted=true,保留消息数据)
  • updateSession 接受 isPinned/isArchived 更新
  • listSessions 过滤 isDeleted,排序 isPinned 优先

Controller 变更 (rag-chat.controller.ts)

  • POST /sessions 接受 createdFrom 字段
  • PATCH /sessions/:id 新端点(更新 title/isPinned/isArchived/modelMode)
  • DELETE /sessions/:id 返回 { success: true, message: "会话已删除" }

createdFrom 枚举值

入口
knowledge_base_detail 知识库详情
material_detail 资料详情
material_reader 资料阅读页
knowledge_item_detail 知识点详情
folder_detail 分类页
global_ai_entry 全局 AI 入口
legacy_migration 旧数据迁移(默认值)
## 关闭原因 本 issue 是合并 issue,已拆分为两个更细粒度的子 issue: | 子 Issue | 内容 | 状态 | |----------|------|------| | #92 M7-02a | createdFrom + isDeleted | ✅ 已完成 | | #93 M7-02b | isArchived + isPinned | ✅ 已完成 | ## 交付情况 子 issue 已全部完成,交付物如下: ### Schema 变更 (`prisma/schema.prisma`) ```prisma createdFrom String @default("legacy_migration") @db.VarChar(32) isPinned Boolean @default(false) isArchived Boolean @default(false) isDeleted Boolean @default(false) ``` ### Service 变更 (`rag-chat.service.ts`) - `createSession` 接受 `createdFrom` 参数 - `deleteSession` 改为软删除 (isDeleted=true,保留消息数据) - `updateSession` 接受 isPinned/isArchived 更新 - `listSessions` 过滤 isDeleted,排序 isPinned 优先 ### Controller 变更 (`rag-chat.controller.ts`) - `POST /sessions` 接受 `createdFrom` 字段 - `PATCH /sessions/:id` 新端点(更新 title/isPinned/isArchived/modelMode) - `DELETE /sessions/:id` 返回 `{ success: true, message: "会话已删除" }` ### createdFrom 枚举值 | 值 | 入口 | |----|------| | knowledge_base_detail | 知识库详情 | | material_detail | 资料详情 | | material_reader | 资料阅读页 | | knowledge_item_detail | 知识点详情 | | folder_detail | 分类页 | | global_ai_entry | 全局 AI 入口 | | legacy_migration | 旧数据迁移(默认值) |
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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