GetTask returns one expanded task view after enforcing read authority.
(ctx context.Context, id string, actor ActorContext)
| 1539 | |
| 1540 | // GetTask returns one expanded task view after enforcing read authority. |
| 1541 | func (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. |
nothing calls this directly
no test coverage detected