(
ctx context.Context,
store DeleteTaskMutationStore,
dependencies []Dependency,
visited map[string]struct{},
)
| 3176 | } |
| 3177 | |
| 3178 | func (m *Service) unresolvedDependencyTaskIDsReadOnlyWithStore( |
| 3179 | ctx context.Context, |
| 3180 | store DeleteTaskMutationStore, |
| 3181 | dependencies []Dependency, |
| 3182 | visited map[string]struct{}, |
| 3183 | ) ([]string, error) { |
| 3184 | unresolved := make([]string, 0) |
| 3185 | for _, dependency := range dependencies { |
| 3186 | dependencyTaskID := strings.TrimSpace(dependency.DependsOnTaskID) |
| 3187 | record, err := store.GetTask(ctx, dependencyTaskID) |
| 3188 | if err != nil { |
| 3189 | return nil, err |
| 3190 | } |
| 3191 | nestedDependencies, err := store.ListDependencies(ctx, dependencyTaskID) |
| 3192 | if err != nil { |
| 3193 | return nil, err |
| 3194 | } |
| 3195 | nestedRuns, err := store.ListTaskRuns(ctx, RunQuery{TaskID: dependencyTaskID}) |
| 3196 | if err != nil { |
| 3197 | return nil, err |
| 3198 | } |
| 3199 | status, err := m.canonicalTaskStatusReadOnlyWithStore( |
| 3200 | ctx, |
| 3201 | store, |
| 3202 | record, |
| 3203 | nestedDependencies, |
| 3204 | nestedRuns, |
| 3205 | visited, |
| 3206 | ) |
| 3207 | if err != nil { |
| 3208 | return nil, err |
| 3209 | } |
| 3210 | if status.Normalize() != TaskStatusCompleted { |
| 3211 | unresolved = append(unresolved, dependencyTaskID) |
| 3212 | } |
| 3213 | } |
| 3214 | sort.Strings(unresolved) |
| 3215 | return unresolved, nil |
| 3216 | } |
| 3217 | |
| 3218 | func (m *Service) blockedReasonsForSnapshot( |
| 3219 | ctx context.Context, |
no test coverage detected