package models import "time" type TaskStatus string const ( StatusTodo TaskStatus = "todo" StatusInProgress TaskStatus = "in_progress" StatusInReview TaskStatus = "in_review" StatusDone TaskStatus = "done" StatusWontdo TaskStatus = "wontdo" ) type Task struct { ID string `json:"id"` ParentTaskID string `json:"parentTaskId,omitempty"` Command string `json:"command"` Skill string `json:"skill,omitempty"` Repository string `json:"repository"` Ref string `json:"ref"` IssueNumber int `json:"issueNumber,omitempty"` PRNumber int `json:"prNumber,omitempty"` CommentID int64 `json:"commentId,omitempty"` Body string `json:"body,omitempty"` Author string `json:"author"` ExtraTools []string `json:"extraTools,omitempty"` Status TaskStatus `json:"status"` PoolRef string `json:"poolRef,omitempty"` JobName string `json:"jobName,omitempty"` Result string `json:"result,omitempty"` ErrorMessage string `json:"errorMessage,omitempty"` CreatedAt time.Time `json:"createdAt"` StartedAt *time.Time `json:"startedAt,omitempty"` CompletedAt *time.Time `json:"completedAt,omitempty"` } type CreateTaskRequest struct { Command string `json:"command"` Skill string `json:"skill,omitempty"` Repository string `json:"repository"` Ref string `json:"ref"` IssueNumber int `json:"issueNumber,omitempty"` PRNumber int `json:"prNumber,omitempty"` CommentID int64 `json:"commentId,omitempty"` Body string `json:"body,omitempty"` Author string `json:"author"` ExtraTools []string `json:"extraTools,omitempty"` ParentTaskID string `json:"parentTaskId,omitempty"` PoolRef string `json:"poolRef,omitempty"` } type UpdateTaskRequest struct { Status TaskStatus `json:"status,omitempty"` Message string `json:"message,omitempty"` JobName string `json:"jobName,omitempty"` ErrorMessage string `json:"errorMessage,omitempty"` } type CommentRequest struct { Body string `json:"body"` } type CompleteTaskRequest struct { Result string `json:"result"` ErrorMessage string `json:"errorMessage,omitempty"` }