MCPcopy Create free account
hub / github.com/driangle/taskmd / applyStatusTransitionDates

Function applyStatusTransitionDates

apps/cli/internal/mcp/set.go:87–104  ·  view source on GitHub ↗
(req *taskfile.UpdateRequest, task *model.Task)

Source from the content-addressed store, hash-verified

85}
86
87func applyStatusTransitionDates(req *taskfile.UpdateRequest, task *model.Task) {
88 if req.Status == nil {
89 return
90 }
91 today := time.Now().Format("2006-01-02")
92 newStatus := model.Status(*req.Status)
93 wasTerminal := task.Status.IsResolved()
94 switch {
95 case newStatus == model.StatusCompleted:
96 req.Completed = &today
97 req.RemoveFields = append(req.RemoveFields, "cancelled_at")
98 case newStatus == model.StatusCancelled:
99 req.CancelledAt = &today
100 req.RemoveFields = append(req.RemoveFields, "completed_at")
101 case wasTerminal:
102 req.RemoveFields = append(req.RemoveFields, "completed_at", "cancelled_at")
103 }
104}
105
106func buildUpdateRequest(input SetInput) taskfile.UpdateRequest {
107 var req taskfile.UpdateRequest

Callers 1

handleSetFunction · 0.85

Calls 1

IsResolvedMethod · 0.80

Tested by

no test coverage detected