package tasks import "time" // TaskDTO 是任务写接口的稳定响应,所有关联 ID 都使用公开 identity。 type TaskDTO struct { ID string `json:"id"` ProjectID string `json:"projectId"` Title string `json:"title"` Description string `json:"description"` Status string `json:"status"` Completed bool `json:"completed"` DueAt *time.Time `json:"dueAt"` AssigneeID *string `json:"assigneeId"` TagID *string `json:"tagId"` Tag string `json:"tag"` SourceInboxItemID *string `json:"sourceInboxItemId"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` } // CreateTaskInput 描述创建任务时允许写入的项目内字段。 type CreateTaskInput struct { Title string Description string Status string DueAt *time.Time Tag string } // UpdateTaskInput 使用目标项目 identity 表达移动,避免 API 接触内部自增 ID。 type UpdateTaskInput struct { Title string Description string Status string Completed bool NextProjectIdentity string Tag string }