package scan import ( "context" "fmt" "time" "git.tcp.direct/perp/shogo/internal/utils" ) // Submit a scan func Submit(ips []string) { // Get results results, err := utils.Client.Scan(context.Background(), ips) if err != nil { fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error()) return } // Print results utils.Title.Printf("Starting scan for %s\n", ips) fmt.Printf( "%s: %s\n%s: %s\n%s: %s\n", utils.Green("ID"), utils.Blue(results.ID), utils.Blue("Count"), utils.Green(results.Count), utils.Green("Credits left"), utils.Blue(results.CreditsLeft), ) for { time.Sleep(time.Second * 3) // Get results results, err := utils.Client.GetScanStatus(context.Background(), results.ID) if err != nil { fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error()) return } // Get status switch results.Status { case "DONE": fmt.Printf("%s: %s\n", utils.Blue("Status"), utils.Green(results.Status)) return } } }