MCPcopy Create free account
hub / github.com/compozy/agh / applyTaskPatch

Function applyTaskPatch

internal/task/manager.go:558–588  ·  view source on GitHub ↗
(current Task, patch Patch)

Source from the content-addressed store, hash-verified

556}
557
558func applyTaskPatch(current Task, patch Patch) (Task, []string) {
559 updated := current
560 changedFields := make([]string, 0, len(MutableTaskFields()))
561
562 if patch.Title != nil && updated.Title != *patch.Title {
563 updated.Title = *patch.Title
564 changedFields = append(changedFields, TaskFieldTitle)
565 }
566 if patch.Description != nil && updated.Description != *patch.Description {
567 updated.Description = *patch.Description
568 changedFields = append(changedFields, TaskFieldDescription)
569 }
570 if patch.Priority != nil && updated.Priority != *patch.Priority {
571 updated.Priority = *patch.Priority
572 changedFields = append(changedFields, TaskFieldPriority)
573 }
574 if patch.MaxAttempts != nil && updated.MaxAttempts != *patch.MaxAttempts {
575 updated.MaxAttempts = *patch.MaxAttempts
576 changedFields = append(changedFields, TaskFieldMaxAttempts)
577 }
578 if patch.AutoEnqueueOnReady != nil && updated.AutoEnqueueOnReady != *patch.AutoEnqueueOnReady {
579 updated.AutoEnqueueOnReady = *patch.AutoEnqueueOnReady
580 changedFields = append(changedFields, TaskFieldAutoEnqueueOnReady)
581 }
582 if patch.ApprovalPolicy != nil && updated.ApprovalPolicy != *patch.ApprovalPolicy {
583 updated.ApprovalPolicy = *patch.ApprovalPolicy
584 updated.ApprovalState = defaultApprovalStateForPolicy(*patch.ApprovalPolicy)
585 changedFields = append(changedFields, TaskFieldApprovalPolicy)
586 }
587 return applyTaskPatchReferences(updated, patch, changedFields)
588}
589
590func applyTaskPatchReferences(updated Task, patch Patch, changedFields []string) (Task, []string) {
591 if patch.Metadata != nil && !sameRawJSON(updated.Metadata, *patch.Metadata) {

Callers 1

UpdateTaskMethod · 0.85

Calls 4

MutableTaskFieldsFunction · 0.85
appendFunction · 0.85
applyTaskPatchReferencesFunction · 0.85

Tested by

no test coverage detected