Skip to content

Commit f4ef4b4

Browse files
committed
fix: apply options correctly for indices config import
1 parent 666f84e commit f4ef4b4

File tree

1 file changed

+58
-24
lines changed

1 file changed

+58
-24
lines changed

pkg/cmd/indices/config/import/import.go

Lines changed: 58 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,33 @@ func NewImportCmd(f *cmdutil.Factory) *cobra.Command {
5555

5656
if !confirm {
5757
if !opts.IO.CanPrompt() {
58-
return cmdutil.FlagErrorf("--confirm required when non-interactive shell is detected")
58+
return cmdutil.FlagErrorf(
59+
"--confirm required when non-interactive shell is detected",
60+
)
5961
}
6062
opts.DoConfirm = true
6163
}
6264

6365
// JSON is parsed, read, validated (and options asked if interactive mode)
64-
err := handler.HandleFlags(&handler.IndexConfigImportHandler{Opts: opts}, opts.IO.CanPrompt())
66+
err := handler.HandleFlags(
67+
&handler.IndexConfigImportHandler{Opts: opts},
68+
opts.IO.CanPrompt(),
69+
)
6570
if err != nil {
6671
return err
6772
}
6873

6974
if opts.DoConfirm {
7075
var confirmed bool
71-
fmt.Printf("\n%s", GetConfirmMessage(cs, opts.Scope, opts.ClearExistingRules, opts.ClearExistingSynonyms))
76+
fmt.Printf(
77+
"\n%s",
78+
GetConfirmMessage(
79+
cs,
80+
opts.Scope,
81+
opts.ClearExistingRules,
82+
opts.ClearExistingSynonyms,
83+
),
84+
)
7285
err = prompt.Confirm("Import config?", &confirmed)
7386
if err != nil {
7487
return fmt.Errorf("failed to prompt: %w", err)
@@ -85,20 +98,27 @@ func NewImportCmd(f *cmdutil.Factory) *cobra.Command {
8598
// Common
8699
cmd.Flags().BoolVarP(&confirm, "confirm", "y", false, "Skip confirmation prompt")
87100
// Options
88-
cmd.Flags().StringVarP(&opts.FilePath, "file", "F", "", "Directory path of the JSON config file")
89-
cmd.Flags().StringSliceVarP(&opts.Scope, "scope", "s", []string{}, "Scope to import (default: none)")
101+
cmd.Flags().
102+
StringVarP(&opts.FilePath, "file", "F", "", "Directory path of the JSON config file")
103+
cmd.Flags().
104+
StringSliceVarP(&opts.Scope, "scope", "s", []string{}, "Scope to import (default: none)")
90105
_ = cmd.RegisterFlagCompletionFunc("scope",
91106
cmdutil.StringSliceCompletionFunc(map[string]string{
92107
"settings": "settings",
93108
"synonyms": "synonyms",
94109
"rules": "rules",
95110
}, "import only"))
96-
cmd.Flags().BoolVarP(&opts.ClearExistingSynonyms, "clear-existing-synonyms", "o", false, fmt.Sprintf("Clear %s existing synonyms of the index before import", cs.Bold("ALL")))
97-
cmd.Flags().BoolVarP(&opts.ClearExistingRules, "clear-existing-rules", "r", false, fmt.Sprintf("Clear %s existing rules of the index before import", cs.Bold("ALL")))
111+
cmd.Flags().
112+
BoolVarP(&opts.ClearExistingSynonyms, "clear-existing-synonyms", "o", false, fmt.Sprintf("Clear %s existing synonyms of the index before import", cs.Bold("ALL")))
113+
cmd.Flags().
114+
BoolVarP(&opts.ClearExistingRules, "clear-existing-rules", "r", false, fmt.Sprintf("Clear %s existing rules of the index before import", cs.Bold("ALL")))
98115
// Replicas
99-
cmd.Flags().BoolVarP(&opts.ForwardSynonymsToReplicas, "forward-synonyms-to-replicas", "m", false, "Forward imported synonyms to replicas")
100-
cmd.Flags().BoolVarP(&opts.ForwardRulesToReplicas, "forward-rules-to-replicas", "l", false, "Forward imported rules to replicas")
101-
cmd.Flags().BoolVarP(&opts.ForwardSettingsToReplicas, "forward-settings-to-replicas", "t", false, "Forward imported settings to replicas")
116+
cmd.Flags().
117+
BoolVarP(&opts.ForwardSynonymsToReplicas, "forward-synonyms-to-replicas", "m", false, "Forward imported synonyms to replicas")
118+
cmd.Flags().
119+
BoolVarP(&opts.ForwardRulesToReplicas, "forward-rules-to-replicas", "l", false, "Forward imported rules to replicas")
120+
cmd.Flags().
121+
BoolVarP(&opts.ForwardSettingsToReplicas, "forward-settings-to-replicas", "t", false, "Forward imported settings to replicas")
102122

103123
return cmd
104124
}
@@ -110,35 +130,49 @@ func runImportCmd(opts *config.ImportOptions) error {
110130
return err
111131
}
112132

113-
indice := client.InitIndex(opts.Indice)
133+
index := client.InitIndex(opts.Indice)
114134

115135
if opts.ImportConfig.Settings != nil && utils.Contains(opts.Scope, "settings") {
116-
_, err = indice.SetSettings(*opts.ImportConfig.Settings, opt.ForwardToReplicas(opts.ForwardSettingsToReplicas))
136+
_, err = index.SetSettings(
137+
*opts.ImportConfig.Settings,
138+
opt.ForwardToReplicas(opts.ForwardSettingsToReplicas),
139+
)
117140
if err != nil {
118-
return fmt.Errorf("%s An error occurred when saving settings: %w", cs.FailureIcon(), err)
141+
return fmt.Errorf(
142+
"%s An error occurred when saving settings: %w",
143+
cs.FailureIcon(),
144+
err,
145+
)
119146
}
120147
}
121148
if len(opts.ImportConfig.Synonyms) > 0 && utils.Contains(opts.Scope, "synonyms") {
122149
synonyms, err := SynonymsToSearchSynonyms(opts.ImportConfig.Synonyms)
123150
if err != nil {
124151
return err
125152
}
126-
_, err = indice.SaveSynonyms(synonyms,
127-
[]interface{}{
128-
opt.ForwardToReplicas(opts.ForwardSynonymsToReplicas),
129-
opt.ReplaceExistingSynonyms(opts.ClearExistingSynonyms),
130-
},
153+
if opts.ClearExistingSynonyms {
154+
fmt.Println("DEBUG: clearing existing synonyms...")
155+
}
156+
157+
_, err = index.SaveSynonyms(
158+
synonyms,
159+
opt.ForwardToReplicas(opts.ForwardSynonymsToReplicas),
160+
opt.ReplaceExistingSynonyms(opts.ClearExistingSynonyms),
131161
)
132162
if err != nil {
133-
return fmt.Errorf("%s An error occurred when saving synonyms: %w", cs.FailureIcon(), err)
163+
return fmt.Errorf(
164+
"%s An error occurred when saving synonyms: %w",
165+
cs.FailureIcon(),
166+
err,
167+
)
134168
}
135169
}
136170
if len(opts.ImportConfig.Rules) > 0 && utils.Contains(opts.Scope, "rules") {
137-
_, err = indice.SaveRules(opts.ImportConfig.Rules,
138-
[]interface{}{
139-
opt.ForwardToReplicas(opts.ForwardRulesToReplicas),
140-
opt.ClearExistingRules(opts.ClearExistingRules),
141-
})
171+
_, err = index.SaveRules(
172+
opts.ImportConfig.Rules,
173+
opt.ForwardToReplicas(opts.ForwardRulesToReplicas),
174+
opt.ClearExistingRules(opts.ClearExistingRules),
175+
)
142176
if err != nil {
143177
return fmt.Errorf("%s An error occurred when saving rules: %w", cs.FailureIcon(), err)
144178
}

0 commit comments

Comments
 (0)