...
1 package update
2
3 import (
4 "context"
5 "fmt"
6
7 "edge-infra.dev/pkg/edge/edgecli/flagutil"
8
9 "edge-infra.dev/pkg/edge/edgecli"
10 "edge-infra.dev/pkg/lib/cli/command"
11 "edge-infra.dev/pkg/lib/cli/rags"
12 )
13
14 func updateBanner(cfg *edgecli.Config) *command.Command {
15 var (
16
17 name string
18 bannerEdgeID string
19 bannerName string
20 username string
21 tenantOrg string
22 endpoint string
23 token string
24 )
25
26 cmd := &command.Command{
27 ShortUsage: "edge update-context banner",
28 ShortHelp: "Add new banner context to config file",
29 Flags: []*rags.Rag{
30
31 {
32 Name: "name",
33 Usage: "Name of banner context",
34 Value: &rags.String{Var: &name},
35 },
36 {
37 Name: "bannerEdgeID",
38 Usage: "Banner Edge ID",
39 Value: &rags.String{Var: &bannerEdgeID},
40 },
41 {
42 Name: flagutil.BannerFlag,
43 Usage: "Name of the banner",
44 Value: &rags.String{Var: &bannerName},
45 },
46 {
47 Name: flagutil.UsernameFlag,
48 Usage: "Username",
49 Value: &rags.String{Var: &username},
50 },
51 {
52 Name: flagutil.OrganizationFlag,
53 Usage: "Tenant Organization",
54 Value: &rags.String{Var: &tenantOrg},
55 },
56 {
57 Name: flagutil.Endpoint,
58 Usage: "BFF Endpoint",
59 Value: &rags.String{Var: &endpoint},
60 },
61 {
62 Name: flagutil.BearerTokenFlag,
63 Usage: "Token",
64 Value: &rags.String{Var: &token},
65 },
66 },
67 Exec: func(_ context.Context, _ []string) error {
68 if name == "" {
69 name = cfg.CurrentBannerContext
70 }
71
72 if err := cfg.UpdateBanner(name, bannerEdgeID, bannerName, username, tenantOrg, endpoint, token); err != nil {
73 return err
74 }
75
76 fmt.Println("Banner Context '" + name + "' has been updated")
77 return nil
78 },
79 }
80
81 return cmd
82 }
83
View as plain text