40 lines
793 B
Go
40 lines
793 B
Go
package alert
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"strings"
|
|
|
|
"git.supernets.org/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
|
|
}
|