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

Method ForceReleaseTaskRun

internal/api/core/tasks.go:1718–1753  ·  view source on GitHub ↗

ForceReleaseTaskRun force releases one claimed run without requiring the raw claim token.

(c *gin.Context)

Source from the content-addressed store, hash-verified

1716
1717// ForceReleaseTaskRun force releases one claimed run without requiring the raw claim token.
1718func (h *BaseHandlers) ForceReleaseTaskRun(c *gin.Context) {
1719 manager, ok := h.requireTaskManager(c)
1720 if !ok {
1721 return
1722 }
1723 runID, err := requiredPathID(c.Param("id"), "run id")
1724 if err != nil {
1725 h.respondError(c, StatusForTaskError(err), err)
1726 return
1727 }
1728 var req contract.ForceReleaseTaskRunRequest
1729 if err := c.ShouldBindJSON(&req); err != nil && !errors.Is(err, io.EOF) {
1730 h.respondError(
1731 c,
1732 http.StatusBadRequest,
1733 NewTaskValidationError(fmt.Errorf("%s: decode force release run request: %w", h.transportName(), err)),
1734 )
1735 return
1736 }
1737 actor, err := h.taskActorContext(c, taskActionForceReleaseRun)
1738 if err != nil {
1739 h.respondError(c, StatusForTaskError(err), err)
1740 return
1741 }
1742 run, err := manager.ForceReleaseRun(
1743 c.Request.Context(),
1744 runID,
1745 taskpkg.ForceReleaseRun{Reason: req.Reason, Metadata: req.Metadata},
1746 actor,
1747 )
1748 if err != nil {
1749 h.respondError(c, StatusForTaskError(err), err)
1750 return
1751 }
1752 c.JSON(http.StatusOK, contract.TaskRunResponse{Run: TaskRunPayloadFromRun(run)})
1753}
1754
1755// ForceFailTaskRun force fails one queued or claimed run without requiring the raw claim token.
1756func (h *BaseHandlers) ForceFailTaskRun(c *gin.Context) {

Callers

nothing calls this directly

Calls 10

requireTaskManagerMethod · 0.95
respondErrorMethod · 0.95
transportNameMethod · 0.95
taskActorContextMethod · 0.95
requiredPathIDFunction · 0.85
StatusForTaskErrorFunction · 0.85
NewTaskValidationErrorFunction · 0.85
TaskRunPayloadFromRunFunction · 0.85
ForceReleaseRunMethod · 0.65
IsMethod · 0.45

Tested by

no test coverage detected