test: add calendar sharing tests and update API docs

This commit is contained in:
qzl
2026-02-28 12:28:45 +08:00
parent 7a49783156
commit 173d91086f
7 changed files with 1451 additions and 0 deletions
+109
View File
@@ -358,6 +358,115 @@
---
### POST /schedule-items/{id}/share
分享日历事项给他人(需要认证)。
通过邮箱邀请其他用户,被邀请人将收到待办消息邀请。
**Request:**
```json
{
"email": "string (required, email of user to share with)",
"permission_view": "boolean (default: true)",
"permission_edit": "boolean (default: false)",
"permission_invite": "boolean (default: false)"
}
```
**Permission 位说明:**
| 权限 | 值 | 说明 |
|------|-----|------|
| view | 1 | 查看事项详情 |
| invite | 2 | 邀请其他人订阅此事项 |
| edit | 4 | 修改事项内容、管理订阅 |
可组合使用,如 view+edit = 5view+invite+edit = 7。
**Response:** 200 OK
```json
{
"message": "Invitation sent to user@example.com"
}
```
**Errors:**
- 401: 未认证
- 403: 非日历所有者无权分享
- 404: 日历事项不存在或用户不存在
---
## Inbox Messages
## Inbox Messages
### GET /inbox/messages
获取当前用户的待办消息列表(需要认证)。
**Query Parameters:**
- `status`: string (optional) - 过滤状态:`pending`/`accepted`/`rejected`/`dismissed`
**Response:** 200 OK
```json
[
{
"id": "uuid",
"recipient_id": "uuid",
"sender_id": "uuid?",
"message_type": "calendar",
"schedule_item_id": "uuid?",
"content": "string?",
"is_read": false,
"status": "pending",
"created_at": "2024-01-01T00:00:00Z"
}
]
```
**Errors:**
- 401: 未认证
---
### POST /inbox/messages/{id}/accept
接受邀请(需要认证)。
接受日历邀请时,会为当前用户创建订阅关系。
**Request:**
```json
{
"permission_view": "boolean (default: true)",
"permission_edit": "boolean (default: false)",
"permission_invite": "boolean (default: false)"
}
```
**Response:** 204 No Content
**Errors:**
- 401: 未认证
- 404: 消息不存在
- 400: 消息不是待处理状态或不是日历类型邀请
---
### POST /inbox/messages/{id}/dismiss
忽略邀请(需要认证)。
**Response:** 204 No Content
**Errors:**
- 401: 未认证
- 404: 消息不存在
- 400: 消息不是待处理状态
---
## Users
### GET /users/me