@@ -60,6 +60,7 @@ func NewCmdCancel(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
var confirmed bool
|
||||
|
||||
err := huh.NewConfirm().
|
||||
Title(fmt.Sprintf("Cancel access review campaign %s?", args[0])).
|
||||
Value(&confirmed).
|
||||
@@ -67,6 +68,7 @@ func NewCmdCancel(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !confirmed {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ func NewCmdClose(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
var confirmed bool
|
||||
|
||||
err := huh.NewConfirm().
|
||||
Title(fmt.Sprintf("Close access review campaign %s?", args[0])).
|
||||
Value(&confirmed).
|
||||
@@ -67,6 +68,7 @@ func NewCmdClose(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !confirmed {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ func NewCmdDelete(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
var confirmed bool
|
||||
|
||||
err := huh.NewConfirm().
|
||||
Title(fmt.Sprintf("Delete access review campaign %s?", args[0])).
|
||||
Value(&confirmed).
|
||||
@@ -52,6 +53,7 @@ func NewCmdDelete(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !confirmed {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -116,6 +116,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := cmdutil.ValidateEnum("order-by", flagOrderBy, []string{"CREATED_AT"}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
variables["orderBy"] = map[string]any{
|
||||
"field": flagOrderBy,
|
||||
"direction": flagOrderDir,
|
||||
@@ -137,12 +138,15 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := json.Unmarshal(data, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp.Node == nil {
|
||||
return nil, fmt.Errorf("organization %s not found", flagOrg)
|
||||
}
|
||||
|
||||
if resp.Node.Typename != "Organization" {
|
||||
return nil, fmt.Errorf("expected Organization node, got %s", resp.Node.Typename)
|
||||
}
|
||||
|
||||
return &resp.Node.AccessReviewCampaigns, nil
|
||||
},
|
||||
)
|
||||
@@ -154,6 +158,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if campaigns == nil {
|
||||
campaigns = []campaignNode{}
|
||||
}
|
||||
|
||||
return cmdutil.PrintJSON(f.IOStreams.Out, campaigns)
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ func NewCmdStart(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
var confirmed bool
|
||||
|
||||
err := huh.NewConfirm().
|
||||
Title(fmt.Sprintf("Start access review campaign %s?", args[0])).
|
||||
Value(&confirmed).
|
||||
@@ -67,6 +68,7 @@ func NewCmdStart(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !confirmed {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -131,6 +131,7 @@ func NewCmdView(f *cmdutil.Factory) *cobra.Command {
|
||||
if c.StartedAt != nil {
|
||||
_, _ = fmt.Fprintf(out, "%s%s\n", label.Render("Started:"), cmdutil.FormatTime(*c.StartedAt))
|
||||
}
|
||||
|
||||
if c.CompletedAt != nil {
|
||||
_, _ = fmt.Fprintf(out, "%s%s\n", label.Render("Completed:"), cmdutil.FormatTime(*c.CompletedAt))
|
||||
}
|
||||
|
||||
@@ -102,6 +102,7 @@ func NewCmdDecideAll(f *cmdutil.Factory) *cobra.Command {
|
||||
if flagNote != "" {
|
||||
d["decisionNote"] = flagNote
|
||||
}
|
||||
|
||||
decisions[i] = d
|
||||
}
|
||||
|
||||
|
||||
@@ -168,6 +168,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := cmdutil.ValidateEnum("order-by", flagOrderBy, []string{"CREATED_AT"}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
variables["orderBy"] = map[string]any{
|
||||
"field": flagOrderBy,
|
||||
"direction": flagOrderDir,
|
||||
@@ -179,6 +180,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
filter := map[string]any{}
|
||||
|
||||
if flagDecision != "" {
|
||||
if err := cmdutil.ValidateEnum(
|
||||
"decision",
|
||||
@@ -187,8 +189,10 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filter["decision"] = flagDecision
|
||||
}
|
||||
|
||||
if flagFlag != "" {
|
||||
if err := cmdutil.ValidateEnum(
|
||||
"flag",
|
||||
@@ -202,8 +206,10 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filter["flag"] = flagFlag
|
||||
}
|
||||
|
||||
if flagIncTag != "" {
|
||||
if err := cmdutil.ValidateEnum(
|
||||
"incremental-tag",
|
||||
@@ -212,11 +218,14 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filter["incrementalTag"] = flagIncTag
|
||||
}
|
||||
|
||||
if cmd.Flags().Changed("is-admin") {
|
||||
filter["isAdmin"] = *flagIsAdmin
|
||||
}
|
||||
|
||||
if flagAuthMethod != "" {
|
||||
if err := cmdutil.ValidateEnum(
|
||||
"auth-method",
|
||||
@@ -225,8 +234,10 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filter["authMethod"] = flagAuthMethod
|
||||
}
|
||||
|
||||
if flagAccountType != "" {
|
||||
if err := cmdutil.ValidateEnum(
|
||||
"account-type",
|
||||
@@ -235,8 +246,10 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
filter["accountType"] = flagAccountType
|
||||
}
|
||||
|
||||
if len(filter) > 0 {
|
||||
variables["filter"] = filter
|
||||
}
|
||||
@@ -256,12 +269,15 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := json.Unmarshal(data, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp.Node == nil {
|
||||
return nil, fmt.Errorf("campaign %s not found", args[0])
|
||||
}
|
||||
|
||||
if resp.Node.Typename != "AccessReviewCampaign" {
|
||||
return nil, fmt.Errorf("expected AccessReviewCampaign node, got %s", resp.Node.Typename)
|
||||
}
|
||||
|
||||
return &resp.Node.Entries, nil
|
||||
},
|
||||
)
|
||||
@@ -273,6 +289,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if entries == nil {
|
||||
entries = []entryNode{}
|
||||
}
|
||||
|
||||
return cmdutil.PrintJSON(f.IOStreams.Out, entries)
|
||||
}
|
||||
|
||||
@@ -287,6 +304,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if e.IsAdmin {
|
||||
admin = "yes"
|
||||
}
|
||||
|
||||
rows = append(rows, []string{
|
||||
e.ID,
|
||||
e.Email,
|
||||
|
||||
@@ -106,6 +106,7 @@ func NewCmdCreate(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot read CSV file: %w", err)
|
||||
}
|
||||
|
||||
input["csvData"] = string(csvData)
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ func NewCmdDelete(f *cmdutil.Factory) *cobra.Command {
|
||||
}
|
||||
|
||||
var confirmed bool
|
||||
|
||||
err := huh.NewConfirm().
|
||||
Title(fmt.Sprintf("Delete access source %s?", args[0])).
|
||||
Value(&confirmed).
|
||||
@@ -52,6 +53,7 @@ func NewCmdDelete(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !confirmed {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -110,6 +110,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := cmdutil.ValidateEnum("order-by", flagOrderBy, []string{"CREATED_AT"}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
variables["orderBy"] = map[string]any{
|
||||
"field": flagOrderBy,
|
||||
"direction": flagOrderDir,
|
||||
@@ -131,12 +132,15 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if err := json.Unmarshal(data, &resp); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resp.Node == nil {
|
||||
return nil, fmt.Errorf("organization %s not found", flagOrg)
|
||||
}
|
||||
|
||||
if resp.Node.Typename != "Organization" {
|
||||
return nil, fmt.Errorf("expected Organization node, got %s", resp.Node.Typename)
|
||||
}
|
||||
|
||||
return &resp.Node.AccessSources, nil
|
||||
},
|
||||
)
|
||||
@@ -148,6 +152,7 @@ func NewCmdList(f *cmdutil.Factory) *cobra.Command {
|
||||
if sources == nil {
|
||||
sources = []sourceNode{}
|
||||
}
|
||||
|
||||
return cmdutil.PrintJSON(f.IOStreams.Out, sources)
|
||||
}
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ func NewCmdUpdate(f *cmdutil.Factory) *cobra.Command {
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot read CSV file: %w", err)
|
||||
}
|
||||
|
||||
input["csvData"] = string(csvData)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user