refactor: 重构 schemas 结构,统一枚举定义
This commit is contained in:
@@ -28,10 +28,10 @@ Base URL: `/api/v1/schedule-items`
|
||||
| 值 | 说明 |
|
||||
|---|---|
|
||||
| `active` | 进行中 |
|
||||
| `completed` | 已完成 |
|
||||
| `canceled` | 已取消 |
|
||||
| `archived` | 已归档 |
|
||||
|
||||
兼容策略:历史数据中若存在 `completed` 或 `canceled`,服务端统一按 `archived` 语义处理;新写入仅允许 `active` 或 `archived`。
|
||||
|
||||
### ScheduleItemSourceType
|
||||
|
||||
| 值 | 说明 |
|
||||
@@ -96,7 +96,7 @@ Base URL: `/api/v1/schedule-items`
|
||||
"end_at": "datetime | null (必须包含时区)",
|
||||
"timezone": "string | null (IANA 时区)",
|
||||
"metadata": "ScheduleItemMetadata | null",
|
||||
"status": "ScheduleItemStatus | null"
|
||||
"status": "ScheduleItemStatus | null (active | archived)"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -116,7 +116,7 @@ Base URL: `/api/v1/schedule-items`
|
||||
"source_type": "ScheduleItemSourceType",
|
||||
"created_at": "datetime",
|
||||
"updated_at": "datetime",
|
||||
"permission": "int",
|
||||
"permission": "int (位掩码: 1=view, 2=invite, 4=edit)",
|
||||
"is_owner": "boolean"
|
||||
}
|
||||
```
|
||||
@@ -132,6 +132,11 @@ Base URL: `/api/v1/schedule-items`
|
||||
}
|
||||
```
|
||||
|
||||
说明:`permission_view`、`permission_edit`、`permission_invite` 为布尔值,内部会转换为位掩码整数:
|
||||
- `permission_view = 1`
|
||||
- `permission_invite = 2`
|
||||
- `permission_edit = 4`
|
||||
|
||||
### ScheduleItemShareResponse
|
||||
|
||||
```json
|
||||
|
||||
@@ -10,6 +10,7 @@ scheduler computation, and Flutter settings pages.
|
||||
- `id`: UUID
|
||||
- `owner_id`: UUID
|
||||
- `title`: string
|
||||
- `bootstrap_key`: string | null (引导配置键,用于标识预设任务模板)
|
||||
- `config`: object
|
||||
- `input_template`: string
|
||||
- `enabled_tools`: string[]
|
||||
|
||||
@@ -49,6 +49,8 @@ Base URL: `/api/v1/friends`
|
||||
}
|
||||
```
|
||||
|
||||
说明:`status` 对外返回的值包括 `pending`、`accepted`、`rejected`、`canceled`。内部实现中还有 `blocked` 和 `declined` 状态,在返回给客户端时会映射为 `rejected` 或 `canceled`。
|
||||
|
||||
### FriendResponse
|
||||
|
||||
```json
|
||||
|
||||
@@ -92,6 +92,7 @@ Base URL: `/api/v1/inbox/messages`
|
||||
"message_type": "InboxMessageType",
|
||||
"schedule_item_id": "uuid | null",
|
||||
"friendship_id": "uuid | null",
|
||||
"group_id": "uuid | null",
|
||||
"content": "CalendarInviteContent | CalendarUpdateContent | CalendarDeleteContent | FriendshipContent | null",
|
||||
"is_read": "boolean",
|
||||
"status": "InboxMessageStatus",
|
||||
|
||||
@@ -172,7 +172,6 @@
|
||||
|------|------|------|
|
||||
| `id` | UUID | 主键 |
|
||||
| `owner_id` | UUID | 所有者用户 ID |
|
||||
| `agent_id` | UUID | 关联 Agent ID(可选) |
|
||||
| `memory_type` | VARCHAR(20) | 记忆类型枚举(当前含 `user`、`work`,可扩展) |
|
||||
| `content` | JSONB | UserMemoryContent 或 WorkProfileContent |
|
||||
| `status` | VARCHAR(20) | ACTIVE / DISABLED |
|
||||
@@ -181,6 +180,7 @@
|
||||
|
||||
说明:
|
||||
- `source` 列已移除,不再作为行级来源标记。
|
||||
- `agent_id` 列不存在。
|
||||
- 来源信息如果需要保留,使用 `content` 内各条目的 `meta.source`(字段级来源)。
|
||||
- 唯一性约束:同一 `owner_id` 下 `memory_type` 不能重复(`UNIQUE(owner_id, memory_type)`)。
|
||||
|
||||
@@ -306,8 +306,9 @@ build_system_prompt(
|
||||
|
||||
| 文件 | 职责 |
|
||||
|------|------|
|
||||
| `src/schemas/memories/memory_content.py` | UserMemoryContent、WorkProfileContent 模型 |
|
||||
| `src/schemas/memories/__init__.py` | MemoryType、MemoryStatus 枚举 |
|
||||
| `src/schemas/domain/memory_content.py` | UserMemoryContent、WorkProfileContent 模型 |
|
||||
| `src/schemas/domain/memory.py` | MemoryModel 聚合模型 |
|
||||
| `src/schemas/enums.py` | MemoryType、MemoryStatus 枚举 |
|
||||
| `src/models/memories.py` | SQLAlchemy ORM 模型 |
|
||||
| `src/v1/memories/router.py` | API 端点 |
|
||||
| `src/v1/memories/service.py` | 业务逻辑层 |
|
||||
|
||||
Reference in New Issue
Block a user