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

Method UpdateTask

internal/api/core/tasks.go:558–604  ·  view source on GitHub ↗

UpdateTask patches one mutable task surface.

(c *gin.Context)

Source from the content-addressed store, hash-verified

556
557// UpdateTask patches one mutable task surface.
558func (h *BaseHandlers) UpdateTask(c *gin.Context) {
559 manager, ok := h.requireTaskManager(c)
560 if !ok {
561 return
562 }
563
564 taskID, err := requiredPathID(c.Param("id"), "task id")
565 if err != nil {
566 h.respondError(c, StatusForTaskError(err), err)
567 return
568 }
569
570 var req contract.UpdateTaskRequest
571 if err := c.ShouldBindJSON(&req); err != nil {
572 h.respondError(
573 c,
574 http.StatusBadRequest,
575 NewTaskValidationError(fmt.Errorf("%s: decode update task request: %w", h.transportName(), err)),
576 )
577 return
578 }
579 if !req.HasChanges() {
580 err := NewTaskValidationError(errors.New("task update must include at least one mutable field"))
581 h.respondError(c, http.StatusBadRequest, err)
582 return
583 }
584
585 actor, err := h.taskActorContext(c, taskActionUpdate)
586 if err != nil {
587 h.respondError(c, StatusForTaskError(err), err)
588 return
589 }
590
591 patch, err := taskPatchFromRequest(req)
592 if err != nil {
593 h.respondError(c, StatusForTaskError(err), err)
594 return
595 }
596
597 record, err := manager.UpdateTask(c.Request.Context(), taskID, patch, actor)
598 if err != nil {
599 h.respondError(c, StatusForTaskError(err), err)
600 return
601 }
602
603 c.JSON(http.StatusOK, contract.TaskResponse{Task: TaskPayloadFromTask(record)})
604}
605
606// GetTaskExecutionProfile returns one task-owned execution profile.
607func (h *BaseHandlers) GetTaskExecutionProfile(c *gin.Context) {

Callers

nothing calls this directly

Calls 11

requireTaskManagerMethod · 0.95
respondErrorMethod · 0.95
transportNameMethod · 0.95
HasChangesMethod · 0.95
taskActorContextMethod · 0.95
requiredPathIDFunction · 0.85
StatusForTaskErrorFunction · 0.85
NewTaskValidationErrorFunction · 0.85
TaskPayloadFromTaskFunction · 0.85
taskPatchFromRequestFunction · 0.70
UpdateTaskMethod · 0.65

Tested by

no test coverage detected