package update import ( "context" "fmt" "edge-infra.dev/pkg/edge/edgecli/flagutil" "edge-infra.dev/pkg/edge/edgecli" "edge-infra.dev/pkg/lib/cli/command" "edge-infra.dev/pkg/lib/cli/rags" ) func updateBanner(cfg *edgecli.Config) *command.Command { var ( // banner fields name string bannerEdgeID string bannerName string username string tenantOrg string endpoint string token string ) cmd := &command.Command{ ShortUsage: "edge update-context banner", ShortHelp: "Add new banner context to config file", Flags: []*rags.Rag{ // banner field flags { Name: "name", Usage: "Name of banner context", Value: &rags.String{Var: &name}, }, { Name: "bannerEdgeID", Usage: "Banner Edge ID", Value: &rags.String{Var: &bannerEdgeID}, }, { Name: flagutil.BannerFlag, Usage: "Name of the banner", Value: &rags.String{Var: &bannerName}, }, { Name: flagutil.UsernameFlag, Usage: "Username", Value: &rags.String{Var: &username}, }, { Name: flagutil.OrganizationFlag, Usage: "Tenant Organization", Value: &rags.String{Var: &tenantOrg}, }, { Name: flagutil.Endpoint, Usage: "BFF Endpoint", Value: &rags.String{Var: &endpoint}, }, { Name: flagutil.BearerTokenFlag, Usage: "Token", Value: &rags.String{Var: &token}, }, }, Exec: func(_ context.Context, _ []string) error { if name == "" { name = cfg.CurrentBannerContext } if err := cfg.UpdateBanner(name, bannerEdgeID, bannerName, username, tenantOrg, endpoint, token); err != nil { return err } fmt.Println("Banner Context '" + name + "' has been updated") return nil }, } return cmd }