feat: 重构 memory 系统,支持 user memory 和 work memory 分离
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
# Friendships 协议
|
||||
|
||||
本文档定义 `/api/v1/friends` 的好友申请与管理协议。
|
||||
|
||||
Base URL: `/api/v1/friends`
|
||||
|
||||
---
|
||||
|
||||
## 端点
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
|---|---|---|
|
||||
| POST | `/requests` | 发送好友申请 |
|
||||
| GET | `/requests/inbox` | 获取收到的好友申请列表 |
|
||||
| GET | `/requests/outgoing` | 获取发出的好友申请列表 |
|
||||
| GET | `/requests/{friendship_id}` | 获取指定好友申请详情 |
|
||||
| POST | `/requests/{friendship_id}/accept` | 接受好友申请 |
|
||||
| POST | `/requests/{friendship_id}/decline` | 拒绝好友申请 |
|
||||
| DELETE | `/requests/{friendship_id}` | 取消发出的好友申请 |
|
||||
| GET | `` | 获取好友列表 |
|
||||
| DELETE | `/{friendship_id}` | 删除好友 |
|
||||
|
||||
---
|
||||
|
||||
## 数据结构
|
||||
|
||||
### FriendRequestCreate
|
||||
|
||||
```json
|
||||
{
|
||||
"target_user_id": "uuid",
|
||||
"content": "string | null"
|
||||
}
|
||||
```
|
||||
|
||||
- `target_user_id`: 目标用户 ID
|
||||
- `content`: 申请消息,最大 200 字符
|
||||
|
||||
### FriendRequestResponse
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "uuid",
|
||||
"sender": { /* UserContext */ },
|
||||
"recipient": { /* UserContext */ },
|
||||
"content": { "type": "request", "message": "string | null" } | null,
|
||||
"status": "pending | accepted | rejected | canceled",
|
||||
"created_at": "datetime"
|
||||
}
|
||||
```
|
||||
|
||||
### FriendResponse
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "uuid",
|
||||
"friend": { /* UserContext */ },
|
||||
"status": "active",
|
||||
"created_at": "datetime",
|
||||
"accepted_at": "datetime | null"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 1) POST `/requests`
|
||||
|
||||
发送好友申请。
|
||||
|
||||
### Request
|
||||
|
||||
`FriendRequestCreate` 对象。
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象,状态码 201。
|
||||
|
||||
---
|
||||
|
||||
## 2) GET `/requests/inbox`
|
||||
|
||||
获取收到的待处理好友申请列表。
|
||||
|
||||
### Request
|
||||
|
||||
无请求体。
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象数组,状态为 `pending`。
|
||||
|
||||
---
|
||||
|
||||
## 3) GET `/requests/outgoing`
|
||||
|
||||
获取发出的好友申请列表。
|
||||
|
||||
### Request
|
||||
|
||||
无请求体。
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象数组。
|
||||
|
||||
---
|
||||
|
||||
## 4) GET `/requests/{friendship_id}`
|
||||
|
||||
获取指定好友申请详情。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `friendship_id`: 好友申请 UUID
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象。
|
||||
|
||||
---
|
||||
|
||||
## 5) POST `/requests/{friendship_id}/accept`
|
||||
|
||||
接受好友申请。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `friendship_id`: 好友申请 UUID
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象,状态更新为 `accepted`。
|
||||
|
||||
---
|
||||
|
||||
## 6) POST `/requests/{friendship_id}/decline`
|
||||
|
||||
拒绝好友申请。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `friendship_id`: 好友申请 UUID
|
||||
|
||||
### Response
|
||||
|
||||
`FriendRequestResponse` 对象,状态更新为 `rejected`。
|
||||
|
||||
---
|
||||
|
||||
## 7) DELETE `/requests/{friendship_id}`
|
||||
|
||||
取消发出的好友申请。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `friendship_id`: 好友申请 UUID
|
||||
|
||||
### Response
|
||||
|
||||
204 No Content。
|
||||
|
||||
---
|
||||
|
||||
## 8) GET `/`
|
||||
|
||||
获取好友列表。
|
||||
|
||||
### Request
|
||||
|
||||
无请求体。
|
||||
|
||||
### Response
|
||||
|
||||
`FriendResponse` 对象数组,状态为 `active`。
|
||||
|
||||
---
|
||||
|
||||
## 9) DELETE `/{friendship_id}`
|
||||
|
||||
删除好友。
|
||||
|
||||
### Path Parameters
|
||||
|
||||
- `friendship_id`: 好友关系 UUID
|
||||
|
||||
### Response
|
||||
|
||||
204 No Content。
|
||||
Reference in New Issue
Block a user