- item/tag/item_tag/comment/activity 五表迁移,RLS 全覆盖,pg_trgm 子串索引
- 状态机 domain/task.py:非法流转回 5002 并给 allowed,done 写 completed_at
- /workspaces/{ws}/items 列表/详情/新建/改/状态/软删/评论/标签
- 乐观锁 UPDATE...WHERE version,冲突 4009 + current_version
- Web 任务页:视图 tab、快速新建、勾选完成、开工/阻塞、详情事件流、游标分页
- 测试 43 全绿,ruff 干净,Web 构建通过
- 文档:2.Design/API.md 新增,ROADMAP 按已验证口径重写
This commit is contained in:
@@ -38,3 +38,40 @@ export interface Invitation {
|
||||
role: Role;
|
||||
expires_at: string;
|
||||
}
|
||||
|
||||
export type ItemStatus = "inbox" | "todo" | "doing" | "done" | "blocked" | "canceled";
|
||||
|
||||
export interface Tag {
|
||||
id: string;
|
||||
name: string;
|
||||
color: string;
|
||||
}
|
||||
|
||||
export interface Item {
|
||||
id: string;
|
||||
kind: "task" | "ticket" | "knowledge";
|
||||
title: string;
|
||||
body_md: string;
|
||||
status: ItemStatus;
|
||||
priority: number;
|
||||
creator_id: string;
|
||||
assignee_id: string | null;
|
||||
due_at: string | null;
|
||||
completed_at: string | null;
|
||||
tags: Tag[];
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
version: number;
|
||||
}
|
||||
|
||||
export interface Activity {
|
||||
id: string;
|
||||
action: string;
|
||||
actor_id: string | null;
|
||||
payload: Record<string, unknown> | null;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface ItemDetail extends Item {
|
||||
activities: Activity[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user