MCPcopy
hub / github.com/crowdsecurity/crowdsec / compactDescription

Method compactDescription

pkg/hubops/plan.go:151–184  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

149}
150
151func (p *ActionPlan) compactDescription() string {
152 desc := make(map[string]map[string][]string)
153
154 for _, cmd := range p.commands {
155 opType := cmd.OperationType()
156 itemType := cmd.ItemType()
157 detail := cmd.Detail()
158
159 if _, ok := desc[opType]; !ok {
160 desc[opType] = make(map[string][]string)
161 }
162
163 desc[opType][itemType] = append(desc[opType][itemType], detail)
164 }
165
166 sb := strings.Builder{}
167
168 // Enforce presentation order.
169
170 describe("download", desc, &sb)
171 delete(desc, "download")
172 describe("enable", desc, &sb)
173 delete(desc, "enable")
174 describe("disable", desc, &sb)
175 delete(desc, "disable")
176 describe("remove", desc, &sb)
177 delete(desc, "remove")
178
179 for optype := range desc {
180 describe(optype, desc, &sb)
181 }
182
183 return sb.String()
184}
185
186func (p *ActionPlan) Confirm(verbose bool) (bool, error) {
187 fmt.Fprintln(os.Stdout, "The following actions will be performed:\n"+p.Description(verbose))

Callers 1

DescriptionMethod · 0.95

Calls 5

describeFunction · 0.85
OperationTypeMethod · 0.65
ItemTypeMethod · 0.65
DetailMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected