M7-02b P1 | ChatSession 新增 isArchived + isPinned #93

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

目标

isArchived 归档、isPinned 置顶。会话管理增强,不挡主流程。

Schema

  • isPinned Boolean @default(false)
  • isArchived Boolean @default(false)
## 目标 isArchived 归档、isPinned 置顶。会话管理增强,不挡主流程。 ## Schema - isPinned Boolean @default(false) - isArchived Boolean @default(false)
wangdl added this to the M7:ChatScope 会话系统 — 学习对象绑定的上下文会话 milestone 2026-06-06 16:27:25 +08:00
Author
Owner

完成情况

交付物

ChatSession 新增字段 (prisma/schema.prisma):

isPinned   Boolean  @default(false)
isArchived Boolean  @default(false)

Service 层updateSession 方法:

  • 接受 isPinned? / isArchived? 参数
  • 通过 PATCH /rag-chat/sessions/:id 更新
  • scopeType/scopeId 不可通过此端点修改(scope 不可变规则)

Controller 层:

  • PATCH /rag-chat/sessions/:id 新端点

排序规则

会话列表排序:

  1. isPinned === true 优先
  2. 同优先级按 lastMessageAt DESC

涉及文件

文件 变更
prisma/schema.prisma ChatSession.isPinned + isArchived
src/modules/rag-chat/rag-chat.service.ts updateSession / listSessions
src/modules/rag-chat/rag-chat.controller.ts PATCH /sessions/:id
## 完成情况 ### 交付物 **ChatSession 新增字段** (`prisma/schema.prisma`): ```prisma isPinned Boolean @default(false) isArchived Boolean @default(false) ``` **Service 层** — `updateSession` 方法: - 接受 `isPinned?` / `isArchived?` 参数 - 通过 `PATCH /rag-chat/sessions/:id` 更新 - scopeType/scopeId 不可通过此端点修改(scope 不可变规则) **Controller 层**: - `PATCH /rag-chat/sessions/:id` 新端点 ### 排序规则 会话列表排序: 1. `isPinned === true` 优先 2. 同优先级按 `lastMessageAt DESC` ### 涉及文件 | 文件 | 变更 | |------|------| | prisma/schema.prisma | ChatSession.isPinned + isArchived | | src/modules/rag-chat/rag-chat.service.ts | updateSession / listSessions | | src/modules/rag-chat/rag-chat.controller.ts | PATCH /sessions/:id |
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#93
No description provided.