Path: blob/main/components/gitpod-cli/pkg/supervisor/status-tasks.go
2500 views
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.1// Licensed under the GNU Affero General Public License (AGPL).2// See License.AGPL.txt in the project root for license information.34package supervisor56import (7"context"89"github.com/gitpod-io/gitpod/supervisor/api"10"golang.org/x/xerrors"11)1213func (client *SupervisorClient) GetTasksList(ctx context.Context) ([]*api.TaskStatus, error) {14respClient, err := client.Status.TasksStatus(ctx, &api.TasksStatusRequest{Observe: false})15if err != nil {16return nil, xerrors.Errorf("failed get tasks status client: %w", err)17}18resp, err := respClient.Recv()19if err != nil {20return nil, xerrors.Errorf("failed receive data: %w", err)21}22return resp.GetTasks(), nil23}2425func (client *SupervisorClient) GetTasksListByState(ctx context.Context, filterState api.TaskState) ([]*api.TaskStatus, error) {26tasks, err := client.GetTasksList(ctx)27if err != nil {28return nil, err29}30var filteredTasks []*api.TaskStatus31for _, task := range tasks {32if task.State == filterState {33filteredTasks = append(filteredTasks, task)34}35}36return filteredTasks, nil37}383940