Let task agents create and manage subtasks
This commit is contained in:
@@ -138,7 +138,13 @@ func (m *Manager) Discard(ctx context.Context, task api.Task, actor string) (api
|
||||
switch {
|
||||
case errors.Is(err, store.ErrNotFound):
|
||||
return api.Task{}, fmt.Errorf("%w: task %s is closed", ErrConflict, task.Id)
|
||||
case errors.Is(err, store.ErrDiscardPending), errors.Is(err, store.ErrMerging):
|
||||
case errors.Is(err, store.ErrHasSubtasks):
|
||||
serr := m.checkNoSubtasks(ctx, task)
|
||||
if serr == nil {
|
||||
serr = fmt.Errorf("%w: task %s: %w", ErrConflict, task.Id, err)
|
||||
}
|
||||
return api.Task{}, serr
|
||||
case errors.Is(err, store.ErrDiscardPending), errors.Is(err, store.ErrMerging), errors.Is(err, store.ErrMergingIntoParent):
|
||||
return api.Task{}, fmt.Errorf("%w: task %s: %w", ErrConflict, task.Id, err)
|
||||
case err != nil:
|
||||
return api.Task{}, err
|
||||
|
||||
Reference in New Issue
Block a user