...

Source file src/edge-infra.dev/pkg/edge/edgecli/commands/activationcode/get/get.go

Documentation: edge-infra.dev/pkg/edge/edgecli/commands/activationcode/get

     1  package get
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"time"
     7  
     8  	"edge-infra.dev/pkg/edge/edgecli"
     9  	"edge-infra.dev/pkg/edge/edgecli/constructors"
    10  	"edge-infra.dev/pkg/edge/edgecli/flagutil"
    11  	"edge-infra.dev/pkg/lib/cli/command"
    12  	"edge-infra.dev/pkg/lib/cli/rags"
    13  )
    14  
    15  func NewCmd(cfg *edgecli.Config) *command.Command {
    16  	var cmd *command.Command
    17  	flagsets := flagutil.GetConnectionFlags(cfg)
    18  	var terminalID string
    19  
    20  	cmd = &command.Command{
    21  		ShortUsage: "edge activationcode get",
    22  		ShortHelp:  "Get a terminal's activation code",
    23  		Flags: append(
    24  			flagsets,
    25  			&rags.Rag{
    26  				Name:     flagutil.TerminalID,
    27  				Usage:    "Terminal id to get activation code for terminal",
    28  				Value:    &rags.String{Var: &terminalID},
    29  				Required: true,
    30  			},
    31  		),
    32  		Exec: func(_ context.Context, _ []string) error {
    33  			if err := flagutil.ValidateRequiredFlags(cmd.Rags); err != nil {
    34  				return err
    35  			}
    36  
    37  			terminalID := flagutil.GetStringFlag(cmd.Rags, flagutil.TerminalID)
    38  			if !flagutil.IsValidUUID(terminalID) {
    39  				return fmt.Errorf("invalid terminalID uuid %s", terminalID)
    40  			}
    41  
    42  			registrar, err := constructors.BuildRegistrar(cmd.Rags)
    43  			if err != nil {
    44  				return err
    45  			}
    46  
    47  			reqCtx, cancelReq := context.WithTimeout(context.Background(), time.Duration(30)*time.Second)
    48  			defer cancelReq()
    49  
    50  			activationCode, err := registrar.GetActivationCode(reqCtx, terminalID)
    51  			if err != nil {
    52  				return err
    53  			}
    54  
    55  			fmt.Printf("Activation code: %s \n", activationCode)
    56  			return nil
    57  		},
    58  	}
    59  	return cmd
    60  }
    61  

View as plain text