Path: blob/main/components/local-app/cmd/organization-get.go
2497 views
// Copyright (c) 2023 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 cmd56import (7"context"8"time"910"github.com/bufbuild/connect-go"11v1 "github.com/gitpod-io/gitpod/components/public-api/go/experimental/v1"12"github.com/gitpod-io/local-app/pkg/config"13"github.com/gitpod-io/local-app/pkg/prettyprint"14"github.com/spf13/cobra"15)1617// organizationGetCmd gets a single organization18var organizationGetCmd = &cobra.Command{19Use: "get [organization-id]",20Short: "Retrieves metadata about a given organization",21Args: cobra.MaximumNArgs(1),22RunE: func(cmd *cobra.Command, args []string) error {23if len(args) < 1 {24cfg := config.FromContext(cmd.Context())25gpctx, err := cfg.GetActiveContext()26if err != nil {27return err28}29args = append(args, gpctx.OrganizationID)30}3132var organizations []tabularTeam33for _, orgId := range args {34if len(orgId) == 0 {35return cmd.Help()36}3738ctx, cancel := context.WithTimeout(cmd.Context(), 5*time.Second)39defer cancel()4041gitpod, err := getGitpodClient(ctx)42if err != nil {43return err44}4546orgs, err := gitpod.Teams.GetTeam(ctx, connect.NewRequest(&v1.GetTeamRequest{TeamId: orgId}))47if err != nil {48return err49}5051organizations = append(organizations, tabularTeam{52ID: orgs.Msg.GetTeam().Id,53Name: orgs.Msg.GetTeam().Name,54})55}56return WriteTabular(organizations, organizationGetOpts.Format, prettyprint.WriterFormatNarrow)57},58}5960var organizationGetOpts struct {61Format formatOpts62}6364func init() {65organizationCmd.AddCommand(organizationGetCmd)66addFormatFlags(organizationGetCmd, &organizationGetOpts.Format)67}686970