40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
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
|
|
}
|