func()

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
}