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

Function buildSetRequest

apps/cli/internal/cli/set.go:210–263  ·  view source on GitHub ↗
(cmd *cobra.Command)

Source from the content-addressed store, hash-verified

208}
209
210func buildSetRequest(cmd *cobra.Command) (taskfile.UpdateRequest, error) {
211 if err := resolveDoneFlag(cmd); err != nil {
212 return taskfile.UpdateRequest{}, err
213 }
214
215 var req taskfile.UpdateRequest
216
217 setStringField(&req.Status, setStatus)
218 setStringField(&req.Priority, setPriority)
219 setStringField(&req.Effort, setEffort)
220 setStringField(&req.Type, setType)
221 setStringField(&req.Owner, setOwner)
222
223 if cmd.Flags().Changed("parent") {
224 req.Parent = &setParent
225 }
226 if cmd.Flags().Changed("phase") {
227 req.Phase = &setPhase
228 }
229
230 if len(setAddTags) > 0 {
231 req.AddTags = setAddTags
232 }
233 if len(setRemoveTags) > 0 {
234 req.RemTags = setRemoveTags
235 }
236 if len(setAddPRs) > 0 {
237 req.AddPRs = setAddPRs
238 }
239 if len(setRemovePRs) > 0 {
240 req.RemPRs = setRemovePRs
241 }
242 if len(setAddTouches) > 0 {
243 req.AddTouches = setAddTouches
244 }
245 if len(setRemoveTouches) > 0 {
246 req.RemTouches = setRemoveTouches
247 }
248
249 if cmd.Flags().Changed("depends-on") {
250 deps := parseCommaSeparatedIDs(setDependsOn)
251 req.Dependencies = &deps
252 }
253
254 if err := validateSetEnums(req); err != nil {
255 return taskfile.UpdateRequest{}, err
256 }
257
258 if !hasUpdates(req) {
259 return taskfile.UpdateRequest{}, fmt.Errorf("nothing to update: provide --status, --priority, --effort, --type, --owner, --parent, --phase, --done, --add-tag, --remove-tag, --add-pr, --remove-pr, --add-touches, --remove-touches, or --depends-on")
260 }
261
262 return req, nil
263}
264
265func hasUpdates(req taskfile.UpdateRequest) bool {
266 hasScalar := req.Status != nil || req.Priority != nil || req.Effort != nil ||

Callers 1

runSetFunction · 0.85

Calls 5

resolveDoneFlagFunction · 0.85
setStringFieldFunction · 0.85
parseCommaSeparatedIDsFunction · 0.85
validateSetEnumsFunction · 0.85
hasUpdatesFunction · 0.85

Tested by

no test coverage detected