shogo/internal/shodan/alert/list.go
perp c47bec5f76 💥 Remade all commands
Remade all commands for the pool.
2023-08-03 23:48:39 +01:00

40 lines
790 B
Go

package alert
import (
"context"
"fmt"
"strings"
"git.tcp.direct/perp/shogo/internal/utils"
)
// Return all the active alerts
func (a *Alert) List() {
// Get results
results, err := utils.Client.GetAlerts(context.Background())
if err != nil {
a.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error())
return
}
// Store lines
var lines string
// Add lines
lines += utils.Title.Sprintf("%s%13s%28s\n", "Alert ID", "Name", "IP/Network")
for index := range results {
lines += fmt.Sprintf(
"%-14s %-24s %24s\n",
utils.Green(results[index].ID),
utils.Blue(results[index].Name),
utils.Green(strings.Join(results[index].Filters.IP, ",")),
)
}
// Remove empty newline
// Send results
lines = strings.TrimRight(lines, "\n")
a.Results <- lines
}