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

Method GetTask

internal/task/manager.go:1541–1593  ·  view source on GitHub ↗

GetTask returns one expanded task view after enforcing read authority.

(ctx context.Context, id string, actor ActorContext)

Source from the content-addressed store, hash-verified

1539
1540// GetTask returns one expanded task view after enforcing read authority.
1541func (m *Service) GetTask(ctx context.Context, id string, actor ActorContext) (*View, error) {
1542 if err := requireReadAuthority(actor); err != nil {
1543 return nil, err
1544 }
1545
1546 trimmedID := strings.TrimSpace(id)
1547 if trimmedID == "" {
1548 return nil, fmt.Errorf("%w: task id is required", ErrValidation)
1549 }
1550
1551 record, err := m.store.GetTask(ctx, trimmedID)
1552 if err != nil {
1553 return nil, err
1554 }
1555
1556 children, err := m.listTaskSummaries(ctx, Query{ParentTaskID: trimmedID})
1557 if err != nil {
1558 return nil, err
1559 }
1560 dependencies, err := m.store.ListDependencies(ctx, trimmedID)
1561 if err != nil {
1562 return nil, err
1563 }
1564 runs, err := m.store.ListTaskRuns(ctx, RunQuery{TaskID: trimmedID})
1565 if err != nil {
1566 return nil, err
1567 }
1568 events, err := m.store.ListTaskEvents(ctx, EventQuery{TaskID: trimmedID})
1569 if err != nil {
1570 return nil, err
1571 }
1572
1573 summary, err := m.enrichTaskSummaryFromState(ctx, record, len(children), dependencies, runs, events)
1574 if err != nil {
1575 return nil, err
1576 }
1577 dependencyReferences, err := m.buildDependencyReferences(ctx, dependencies)
1578 if err != nil {
1579 return nil, err
1580 }
1581
1582 view := &View{
1583 Summary: summary,
1584 Task: record,
1585 Children: children,
1586 Dependencies: dependencies,
1587 DependencyReferences: dependencyReferences,
1588 Runs: runs,
1589 Events: events,
1590 }
1591 view.Task.Status = summary.Status
1592 return view, nil
1593}
1594
1595// ListTaskRuns returns task runs for one task after enforcing read authority and
1596// task existence.

Callers

nothing calls this directly

Calls 8

listTaskSummariesMethod · 0.95
requireReadAuthorityFunction · 0.85
GetTaskMethod · 0.65
ListDependenciesMethod · 0.65
ListTaskRunsMethod · 0.65
ListTaskEventsMethod · 0.65

Tested by

no test coverage detected