in controller/ad/ad.go [465:498]
func (c controller) DeleteDetectorByName(ctx context.Context, name string, force bool, display bool) error {
matchedDetectors, err := c.getDetectors(ctx, "delete", name, true)
if err != nil {
return err
}
if matchedDetectors == nil {
return nil
}
var bar *pb.ProgressBar
if display {
bar = createProgressBar(len(matchedDetectors))
}
var failedDetectors []string
for _, detector := range matchedDetectors {
err := c.DeleteDetector(ctx, detector.ID, false, force)
if err != nil {
failedDetectors = append(failedDetectors, fmt.Sprintf("%s \t Reason: %s", detector.Name, err))
continue
}
if bar != nil {
bar.Increment()
}
}
if bar != nil {
bar.Finish()
}
if len(failedDetectors) > 0 {
fmt.Printf("failed to delete %d following detector(s)\n", len(failedDetectors))
for _, detector := range failedDetectors {
fmt.Println(detector)
}
}
return nil
}