+20
-4
src/main.go
+20
-4
src/main.go
···
421
421
logc.Fatalln(ctx, err)
422
422
}
423
423
424
+
ch := make(chan *AuditRecord)
425
+
ids := []AuditID{}
424
426
for id, err := range backend.SearchAuditLog(ctx, SearchAuditLogOptions{}) {
425
427
if err != nil {
426
428
logc.Fatalln(ctx, err)
427
429
}
428
-
record, err := backend.QueryAuditLog(ctx, id)
429
-
if err != nil {
430
-
logc.Fatalln(ctx, err)
431
-
}
430
+
go func() {
431
+
if record, err := backend.QueryAuditLog(ctx, id); err != nil {
432
+
logc.Fatalln(ctx, err)
433
+
} else {
434
+
ch <- record
435
+
}
436
+
}()
437
+
ids = append(ids, id)
438
+
}
439
+
440
+
records := map[AuditID]*AuditRecord{}
441
+
for len(records) < len(ids) {
442
+
record := <-ch
443
+
records[record.GetAuditID()] = record
444
+
}
445
+
446
+
for _, id := range ids {
447
+
record := records[id]
432
448
fmt.Fprintf(color.Output, "%s %s %s %s %s\n",
433
449
record.GetAuditID().String(),
434
450
color.HiWhiteString(record.GetTimestamp().AsTime().UTC().Format(time.RFC3339)),