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

Method CreateTask

internal/api/core/tasks.go:202–236  ·  view source on GitHub ↗

CreateTask creates one new task.

(c *gin.Context)

Source from the content-addressed store, hash-verified

200
201// CreateTask creates one new task.
202func (h *BaseHandlers) CreateTask(c *gin.Context) {
203 manager, ok := h.requireTaskManager(c)
204 if !ok {
205 return
206 }
207
208 var req contract.CreateTaskRequest
209 if err := c.ShouldBindJSON(&req); err != nil {
210 h.respondError(
211 c,
212 http.StatusBadRequest,
213 NewTaskValidationError(fmt.Errorf("%s: decode create task request: %w", h.transportName(), err)),
214 )
215 return
216 }
217
218 spec, err := h.createTaskSpecFromRequest(c.Request.Context(), req)
219 if err != nil {
220 h.respondError(c, StatusForTaskError(err), err)
221 return
222 }
223 actor, err := h.taskActorContextForWorkspace(c, taskActionCreate, spec.WorkspaceID)
224 if err != nil {
225 h.respondError(c, StatusForTaskError(err), err)
226 return
227 }
228
229 record, err := manager.CreateTask(c.Request.Context(), spec, actor)
230 if err != nil {
231 h.respondError(c, StatusForTaskError(err), err)
232 return
233 }
234
235 c.JSON(http.StatusCreated, contract.TaskResponse{Task: TaskPayloadFromTask(record)})
236}
237
238// GetTask returns one expanded task view.
239func (h *BaseHandlers) GetTask(c *gin.Context) {

Callers

nothing calls this directly

Calls 9

requireTaskManagerMethod · 0.95
respondErrorMethod · 0.95
transportNameMethod · 0.95
NewTaskValidationErrorFunction · 0.85
StatusForTaskErrorFunction · 0.85
TaskPayloadFromTaskFunction · 0.85
CreateTaskMethod · 0.65

Tested by

no test coverage detected